|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
Масштабирование системы при использовании паттерна Singleton04.01.2017, 10:51. Показов 4775. Ответов 85
Метки нет (Все метки)
Добрый день, как доказать или опровергнуть, что архитектура теряет гибкость и расширяемость при активном использовании паттерна Singleton.
1
|
|
| 04.01.2017, 10:51 | |
|
Ответы с готовыми решениями:
85
Насчёт шаблонного паттерна SingleTon Необходима альтернатива при использовании Proxy паттерна
|
| 07.01.2017, 00:59 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 07.01.2017, 01:48 | |
|
Ясно. Вот, Вы о чём.
Ну, так как конструктор ostream спрятан в protected, то кто-то должен был где-то однажды это сказать. Хорошо. Есть у нас ненадуманный синглтон, который есть cout. Какие потребности могли бы возникнуть, чтобы в случае с cout паттерн оказался антипатерном? Нужно немного сказочной фантазии. Нужно только смоделировать некоторую модель мира, где стало бы очевидным, что решение сделать cout одиночкой стало ошибкой. Ненастоящая модель, надуманная. Выдумать никому нафиг ненужную, заведомо ошибочную архитектуру, наверное можно. Может даже существуют какие-то настоящие определённые проблемы этого рода. Если это получится, то, может быть, некоторые неясности с использованием синглтона как-нибудь прояснятся немного.
0
|
|
|
Комп_Оратор)
|
||
| 07.01.2017, 02:28 | ||
|
Вообще, если что-то, что делается небольшой группой для решения не слишком общей задачи, вдруг станет
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 07.01.2017, 02:44 | |
|
1
|
|
| 07.01.2017, 03:06 | |
|
0
|
|
| 07.01.2017, 03:38 | |
|
Не по теме: Когда свой мир идей абстрактных
0
|
|
| 07.01.2017, 03:50 | |
|
Не по теме: _Ivana, это из стандарта на русский? Если да, то я зря сетовал на возможные неточности перевода. Каким бы ни был оригинал, - данный вариант лучше. Всё в духе затронутого противоречия: "Погиб объект - невольник чести...". И проблематика актуальна. Delete - настоящее долото. В скрижалях советуют объявить оператор взятия адреса в закрытой секции. От греха.
0
|
|
| 07.01.2017, 03:55 | |
|
Не по теме: IGPIGP, да, не спится, режим на праздниках совсем сбил :) Сублимируюсь на форуме :)
0
|
|
| 07.01.2017, 04:04 | |
|
0
|
|
| 07.01.2017, 04:09 | |
|
Не по теме: IGPIGP, ну, стих был написан в соавторстве, в полном соответствии с концепцией переиспользования уже написанного - наследование, как оно есть :D О мы, надменные потомки.... помните же? :)
0
|
|
| 07.01.2017, 10:27 | ||
|
Не по теме:
Анчар как мрачный синглтон, стоит один во всей вселенной... или К чреслам моим коснулся он, И вырвал грешный сингл-тон! :cry: Хочется как-то оптимистично закончить. Моя печень бесстрашно смотрит на приближение нового, нового года.:D -Я сабжектник себе воздвиг. Нерукотворный!. :D Доброе утро! :)
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||||||||||
| 08.01.2017, 10:05 | ||||||||||||||||||
|
берем простейшую модель сингелтона:
и слегка наносим косметику:
только клиентам не нужно больше писать вручную get. вот этот вот дизайн: singelton::work();вам ничего не напоминает? я поясню момент:
ни с точки зрения дизайна, ни с точки зрения функциональности. но думаю, теперь вам стало очевидно, что с технической точки зрения сингелтон ни что иное, как эквивалент самого обычного сишного модуля. поэтому я и пишу: зависит от реализации. если вам так критично избавиться от зависимости от типа - не проблема. вы любой сингелтон всегда можете преобразовать к виду обычного сишного модуля. то бишь тупо пачка свободных функций в каком нибудь неймспейсе. и у вас вообще не будет ни класса, ни объекта. Добавлено через 3 минуты никак не влияет на нужность/ненужность используемых паттернов.
3
|
||||||||||||||||||
|
Комп_Оратор)
|
||
| 08.01.2017, 11:02 | ||
|
Я согласен с тем, что статический метод лучше функтора, так как мы можеи определить целый набор. И согласен, что это очень похоже на синглтон. То есть, если нет иных соображений чем упрощение записи, то синглтон мёртв. Но мне кажется такие соображения есть. Набор статических методов не позволяет пользоваться всеми преимуществами экземпляра класса по определению. А синглтон, - экземпляр по определению. И это его качество и интересно. Чего нельзя сделать без экземпляра? Нельзя, например перегрузить операторы. Интересно, что ещё может быть тут интересно?
0
|
||
| 08.01.2017, 11:15 | |||||||
|
Не по теме:
Или не это имелось ввиду?
0
|
|||||||
|
Комп_Оратор)
|
|
| 08.01.2017, 11:24 | |
|
GbaLog-, почему не по теме? Оно конечно не срезонировало с моим постом, но это по теме. Будем считать, что это анти плюсовый манёвр. Не смогу плюсануть. И ладно.
![]() Глобальные операторы или статические, можно перегрузить для экземпляров определённых типов. Но речь же о самом синглтоне. Что если для него, как сущности нужно определить оператор? Имея класс вообще без экземпляров, но со статическими методами можно упростить запись и пользоваться некоторыми свойствами
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 08.01.2017, 11:38 | ||
|
на мой взгляд, киллер-фича сингелтона, это - возможность гарантировать иммунитет от порядка инициализации единиц трансляций. ну и просто может быть удобнее. к тому же, объект гармоничнее смотрится в оппнутой архитектуре. ещё одна килер-фича: все методы сингелтона находятся в одном месте. собственно, описаны в классе. ну и там плюс - можно наследоваться, и тп. киллер-фича свободной пачки функций жеж - напротив, в том, что можно всегда создать новый файлик, объявить такое же пространство имен. и накатать новых функций. то есть, как бы расширить функциональность сингелтона. это достоинство так же является и главным минусом. можно по итогу получить функциональность разбитую по куче файлов. и если это чужой проект, и нет нормальной документации, то становится не очевидным: какое же у нас тут имеется апи.
1
|
||
|
Комп_Оратор)
|
|||||||
| 08.01.2017, 12:04 | |||||||
![]() То есть, для данного раза подходит только синглтон Майерса (везде ругаемый)). Вообще Поэтому и интересно послушать, что кто скажет. И сделать так, чтобы и не слишком опытным программерам это было понятно, - как бонус.
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 08.01.2017, 12:11 | |
|
0
|
|
| 08.01.2017, 12:11 | |
|
Может ли потребоваться применение механизма событий при использовании паттерна MVVM?
Постоянно прохожу проверку CAPTCHA при использовании поисковой системы Collections: singleton/singletonList/singletonMap. Что значит слово singleton? Установка "лимита" на значение решения системы ОДУ при использовании решателя ode45 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|