2015-05-07 5 views
1

По-видимому, синглтоны плохие, и рекомендуется использовать заводской метод. Мне интересно, если одноэлементный набор инструментов лучше, чем синглтон.Singleton toolbox vs factory method

+0

Я не уверен, что сказать, или если я должен опубликовать в Programmers SE вместо этого. – somebody

+0

Кто сказал, что синглтоны плохи? Это всегда зависит от того, как вы хотите их использовать. Есть ли какой-нибудь код, который вы можете нам показать? –

+0

Люди говорят, что это плохо для модульного тестирования. – somebody

ответ

0

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

У каждого из них есть свои предпочтения. Как следствие, я уверен, что здесь есть недоразумение.

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

В разработке программного обеспечения одноэлементный шаблон представляет собой шаблон проектирования, который ограничивает создание экземпляра класса одним объектом. Это полезно, когда необходим один объект для координации действий в системе. Концепция иногда обобщается на системы, которые работают более эффективно, когда существует только один объект, или которые ограничивают создание экземпляра определенным количеством объектов. Термин исходит из математической концепции одноэлементности.

В программировании на основе классов шаблон фабричного метода представляет собой шаблон создания, который использует фабричные методы для решения проблемы создания объектов без указания точного класса объекта, который будет создан. Это делается путем создания объектов путем вызова фабричного метода - либо указанного в интерфейсе, либо реализованного дочерними классами, либо реализованного в базовом классе, либо необязательно переопределенного производными классами, а не путем вызова конструктора.

+0

Я имел в виду singleton ** toolbox **, не singleton. – somebody

+0

Вы предоставляете не много информации. И я не имею ни малейшего понятия, что вы хотите спросить. В шкафу есть и некоторые действительно хорошие преимущества, но «люди говорят, что это плохо». Это обсуждение ни о чем –