Как заявил Остин в своем ответе, если Ваше желание знать, что, чтобы избежать его лучше читать на анти -patterns - но я бы добавил «кодовые запахи».
Шаблоны проектирования полезны только тогда, когда применяются для решения проблемы, которую они решаются для решения. Я часто перечитываю, что технология не решает проблемы - люди делают, а затем технология используется для реализации решения. Каждый шаблон проектирования является решением конкретной проблемы, а при реализации решает эту проблему. Когда неправильное решение реализовано, проблема не решена; и обычно становится намного хуже.
Вы, как и многие другие перед вами, подверглись воздействию Синглтона, используемого для решения проблемы, которую оно не предназначалось для решения. Лучше всего отступить, взглянуть на него снова и определить проблему (или проблемы), которые необходимо решить и реализовать шаблон дизайна или шаблоны, которые их решают.
Одним словом, хорошо распознать анти-шаблоны или «запахи кода», но чтобы избежать проблем с шаблонами дизайна, лучше всего понять, в чем проблема, которую они должны были решить, и применять их только к справиться с этой конкретной проблемой.
Множество людей поставили бы Singleton в этой категории. –
Я сам думал о Синглтоне, когда задавал вопрос. Я имею дело с одноэлементным классом, который теперь является проблемой, потому что это синглтон. Вот в чем причина - обратиться к коллективной базе знаний и увидеть, что были другие подобные модели, которые приходили на ум. – Carl
Я вижу, вопрос уже ответил. Но вот ссылка на некоторые анти-шаблоны для Java, но, вероятно, может применяться и к другим языкам. http://mindprod.com/jgloss/unmain.html – Lionel