|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.03.2016, 13:48 | #11 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
не путайте статический класс и синглетон, да первый много где может его заменить, но когда нам нужно реализовать IStorageManager, причем у реализации должен быть лишь один объект(например это TapeStorageManager), то тут нужен именно синглетон. Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
18.03.2016, 14:04 | #12 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
При чём здесь фрагментация? Если у вас миллион маленьких структур, то да, заведомо быстрее сразу объявить весь массив. А если несколько тяжёлых объектов, то пускай рантайм сам решает, что лучше - лишний раз собрать мусор или расширить кучу.
|
18.03.2016, 14:49 | #13 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
+ сборщик удалит мусор не сразу, и мы в итоге получим или фриз на сборку или OutOfMemory быстрее чем если бы оставили объект. напомню что это про нехватку памяти и принцип создал-разрушил для переиспользумых объектов(а речь все же о синглетоне, он поидее должен). Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
18.03.2016, 15:43 | #14 | |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Цитата:
А OutOfMemory мы, скорее всего, получим только в вашем варианте. Если ни в одном потоке впереди по ходу выполнения не встречается ссылка на объект, он подлежит сборке; не в первом поколении, так во втором. Области досягаемости определяются джиттером, на скорость это практически не влияет. Вы недоцитировали Pavia, он говорил про "надуманный пример и реально такое не бывает". Как я понял, речь о синглтонах, которые используются по очереди, без возвратов к предыдущим. Последний раз редактировалось ds.Dante; 18.03.2016 в 16:05. |
|
18.03.2016, 16:31 | #15 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вообще я хотел именно показать что когда ресурсов уже мало лучше как можно меньше терять объекты создавая новые, вместо переиспользования. а то потом потом вижу код вида Код:
напомню что там был контекст недостатка памяти. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
18.03.2016, 17:09 | #16 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
|
22.03.2016, 11:46 | #17 | |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
|
|
22.03.2016, 13:57 | #18 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
crazy horse, типичный юзкейc, имхо, другой: интерфейс связи с сервером реализован обычным HTTP и тестовой заглушкой. В конструктор клиента в рабочем коде передаём первый, в большинстве юнит-тестов - второй.
Последний раз редактировалось ds.Dante; 22.03.2016 в 13:59. |
22.03.2016, 14:30 | #19 |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Типичный, но мне хотелось вытащить на свет божий именно рантайм. Понятно, что и с юниттестами оно все по другому. Тем более, что нужная инфраструктура давно уже генерится рубёвым скриптом одновременно и в тестах и в коде.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
|
22.03.2016, 14:49 | #20 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
антипаттерном является отношение к паттернам, как к серебряным пулям. Паттерны - примеры и не более того.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что такое отладчик с чем его едят и как его использовать | Dimka-novitsek | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 20.03.2014 17:59 |
Класс-контейнер? Что это такое и с чем его «едят»? | 4atty | Общие вопросы C/C++ | 1 | 12.03.2013 00:43 |
Что такое Flash и с чем его едят... | coolartemka | JavaScript, Ajax | 1 | 18.05.2011 02:40 |
<< >> & ^ | с чем это едят и что это такое? | pufystyj | Общие вопросы C/C++ | 4 | 30.03.2011 13:59 |