Что такое моно-синглтон?

Недавно на собеседовании моего друга попросили рассказать, чем отличается стандартный синглтон от моно. Я никогда раньше не слышал этот термин, и простой поиск в Google не дает значимых результатов.

Мой друг предположил, что это объект, в котором конструктор является общедоступным, но все члены статичны. Мне это кажется немного глупым, поскольку это был бы просто статический объект, для которого вообще не требовался бы конструктор.

Есть ли у кого-нибудь лучшее определение моно-синглтона? Это что-то полезное по сравнению со стандартным синглтоном?

Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Когда мы говорим о том, как сделать следующий шаг в качестве разработчика, мы должны понимать, что качество кода всегда является основным фокусом на...
Принципы SOLID - лучшие практики
Принципы SOLID - лучшие практики
SOLID - это аббревиатура, обозначающая пять ключевых принципов проектирования: принцип единой ответственности, принцип "открыто-закрыто", принцип...
0
0
1 340
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Я знаю, что «синглтон» можно изменить для поддержки n экземпляров, где n - фиксированное число. Однако я узнал, что это называется мультиплтон или мультитон (я забыл точное название, но оно было похоже на это). Возможно, интервьюер хотел понять, что вы можете использовать что-то очень похожее на шаблон Singleton для получения n экземпляров объекта. Но если это так, то это было неудобно.

Я никогда раньше не слышал, чтобы этот термин использовался, но я предполагаю, что он используется для обозначения синглтона, который позволяет создать только один экземпляр. (Обычный синглтон этого не требует, он также может выдавать ограниченное количество экземпляров).

Либо так, либо это синглтон, сделанный в моно ...

Синглтон, как определено GoF, допускает только один экземпляр. Ограничение количества экземпляров - это обобщение Singleton.

Thomas Owens 29.10.2008 21:50

Это абсолютно правильно, однако у меня сложилось впечатление, что это обобщение было общепринятым.

Jasper Bekkers 29.10.2008 23:27
Ответ принят как подходящий

Я полагаю, они на самом деле имели в виду «моногосударство». Я не буду вдаваться в подробности, поскольку теперь они легко доступны в Google (наряду с обсуждением отличий от синглтонов).

Однако я скажу, что моносостояния имеют, по крайней мере, все те же проблемы и синглтоны, и их следует избегать, насколько это возможно (вместо этого рассматривая другие подходы, такие как Параметризация сверху или внедрение зависимостей, где это необходимо).

В Google есть ровно одно обращение к «моно-синглтону» (в кавычках), поэтому я бы решил его как синглтон, используемый в нейтральной платформе DotNet, в отличие от «Java Singleton» или «C++ Singleton».

Извините, не удержался :)

Другие вопросы по теме