Re[2]: Почему Singleton антипаттерн
От: IT Россия linq2db.com
Дата: 13.08.07 17:13
Оценка: +5
Здравствуйте, Ужасть бухгалтера, Вы писали:

УБ>ИМХО, всему найдется свое место. И IoC полезен, и у синглтона есть область применения. И даже глобальную переменную иногда можно куда-нить приткнуть


Качество кода и применяемых решений легко проверяется, когда возникает необходимость в модификации кода. При этом чем качественнее код, тем проще делать более сложные изменения. И наоборот, чем некачественнее код, тем сложнее делать даже простые вещи.

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

УБ>ИМХО, лучше просто трезво оценивать возможную область применения синглтона, его плюсы/минусы и возможные альтернативы. А то из-за ожесточенного флейма в этой ветке возникает впечатление, что некоторые зачем-то пытаются свести использование синглтона вообще к нулю.


Это очень легко объясняется. Разумные люди стараются не наступать на одни и теже грабли дважды и, поимев проблемы с синглетоном один раз, предпочитают больше с ним не связываться даже если его применение локально ограничено и проблем при модификации кода не вызывает. А учитывая, что серьёзных архитектурных преимуществ синглетон не даёт, то гораздо проще и разумнее предать его анафеме и не связываться с ним даже в тех случаях, когда с ним проблем не возникает.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.