|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|||||||||||
Singletone для Class library29.10.2019, 16:42. Показов 4635. Ответов 98
Метки нет (Все метки)
приветствую всех,
Каждый раз в каждом class где я работаю с class library я создаю объект. Говорят это не есть хорошо. Например:
Вопрос, как сделать singleton из класса Frame? спасибо!
0
|
|||||||||||
| 29.10.2019, 16:42 | |
|
Ответы с готовыми решениями:
98
Intellisense и autocompletion в библиотеках класса (Class Library) Работа с DirectX: Output Type of Class Library Как узнать путь к ресурсу сборки Class Library? |
|
Модератор
|
||||||
| 30.10.2019, 14:37 | ||||||
|
Bulky, изменение названий не устроит.
Синглтон нужен только тогда когда надо обеспечить один единственный экземпляр типа для всего приложения. Добавлено через 2 минуты Один из вариантов.
0
|
||||||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
||
| 30.10.2019, 16:31 [ТС] | ||
|
И ни одного толкового примера с Class library. Как будто я один на всем белом свете пользуюсь библиотеками! Элд Хасп, Задачка дословно звучит так: так как проект ведет себя неадекватно из-за мультипликации instance этой library. Подумайте о wrapper class в единственном экземпляре (ключевые слова static и singleton pattern). Да так и есть, в проекте мультиплицируется несколько методов этого самого library class. Поэтому App и глючит.
0
|
||
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
| 30.10.2019, 16:43 | |
|
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 30.10.2019, 16:44 [ТС] | |
|
0
|
|
|
Модератор
|
||||||
| 30.10.2019, 17:31 | ||||||
|
Bulky, если вы не можете скорректировать класс Frame, то возникает проблема обращения к его конструктору.
По идее весь смысл Singleton это закрытие конструкторов типа. А, как я понял, для вас модернезация типа невозможна. Тогда остаётся только вариант с созданием одного глобального экземпляра. Но тогда надо контролировать, чтобы во всём приложении экземпляр Frame получался не через его конструктор, а через ссылку на этот глобальный экземпляр. Это не Singleton. Поэтому возможны баги. И компилятор их не выловит. Вся ответственность на создателях кода.
0
|
||||||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 31.10.2019, 10:14 [ТС] | |
|
Enifan, КОП, Элд Хасп, Lexeq,
Для всеобщего консенсуса, чтобы все-таки всем нам понять, что здесь нужно и не нужно, прикрепил sample-solution.Как говорится please help.
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
||
| 31.10.2019, 10:48 [ТС] | ||
|
Вот куда можно было заслать модератора отдела WPF без ноутбука. Даже космонавты летят к своим титановым гробам на орбиту с ноутбуками. Вы хотя бы на Земле?
0
|
||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
||
| 31.10.2019, 11:25 [ТС] | ||
0
|
||
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 31.10.2019, 11:41 [ТС] | |
|
Элд Хасп, Не факт, поверьте мне. Не хотите на Ямал (ГазПром) программистом или в Якутию (Роснефть)?
Мы на практике были летом в Якутии. Я позвонить домой через Sat записывался за неделю. Одну народную мудрость в личку написал.
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 26.11.2019, 18:04 [ТС] | |
|
Элд Хасп, пофлеймили, пофлеймили.
Снег там выпал? Дома уже?
0
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
|
| 26.11.2019, 18:23 [ТС] | |
|
0
|
|
|
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
|
|
| 26.11.2019, 18:48 | |
|
0
|
|
|
68 / 38 / 11
Регистрация: 07.11.2019
Сообщений: 136
|
|
| 26.11.2019, 19:06 | |
|
Bulky,
По поводу синглтона стоит прочитать классику от Джона Скита https://csharpindepth.com/articles/singleton По поводу вашего решения, мне сходу по коду не очень было понятно, что вы делаете. Возможно я не читал детально всю переписку. Но почему вы решили, что вам нужен синглтон? Если речь идет о соединении с базой, то оно все же должно быть открыто в рамках запроса к вашему сервису. Новый запрос желательно должен открыть соединение заново. В противном случае у вас может возникнуть очень много проблем, как это все поддерживать.
1
|
|
|
-21 / 29 / 2
Регистрация: 17.03.2018
Сообщений: 778
|
||
| 26.11.2019, 20:14 [ТС] | ||
MainWindow.xaml.cs есть большой коммент описывающий проблему.Люди пользующиеся этой lib шепнули, - не плоди экземпляры, создай wrapper class, singleton иначе столкнешься с неадекватным поведением App.
0
|
||
| 26.11.2019, 20:14 | |
|
Помогаю со студенческими работами здесь
40
Как искусственно вызвать exception в Class Library (пока пустой) Вопрос из теста: A project with an Output Type of Class Library cannot be started directly Есть Class library (с работающим кодом) как найти то, что запускает этот код?
Нужно составить регулярное выражение для поиска <div class="market_row_name"> и <div class="market_row_price"> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|