Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Извините, не смог устоять:)

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top