http://sergeyteplyakov.blogspot.ru/2014/02/gof-net.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/Znar+(Programming+stuff)
Скажу про себя - я применяю шаблоны не потому, что это "круто" или потому, что их "хочется применять". Я их применяю ТОЛЬКО в случае КРАЙНЕЙ необходимости.
Например НЕОБХОДИМОСТЬ Dependency Injection в ОТДЕЛЬНЫХ случаях я ПРОЧУВСТВОВАЛ.
То же касается и Singleton'а. Опять же в отдельных случаях.
То же касается Publisher/Subscriber и скажем Visitor.
А уж Wrapper, Adapter - БЫВАЮТ крайне полезны при "пересмотре архитектуры". ЧАЩЕ всего как ВРЕМЕННЫЕ меры.
Ну и Fly-Weight - ИНОГДА сильно повышает эффективность.
В общем не шаблоны "ради шаблонов".
А шаблоны, когда они ДЕЙСТВИТЕЛЬНО необходимы.
Скажу про себя - я применяю шаблоны не потому, что это "круто" или потому, что их "хочется применять". Я их применяю ТОЛЬКО в случае КРАЙНЕЙ необходимости.
Например НЕОБХОДИМОСТЬ Dependency Injection в ОТДЕЛЬНЫХ случаях я ПРОЧУВСТВОВАЛ.
То же касается и Singleton'а. Опять же в отдельных случаях.
То же касается Publisher/Subscriber и скажем Visitor.
А уж Wrapper, Adapter - БЫВАЮТ крайне полезны при "пересмотре архитектуры". ЧАЩЕ всего как ВРЕМЕННЫЕ меры.
Ну и Fly-Weight - ИНОГДА сильно повышает эффективность.
В общем не шаблоны "ради шаблонов".
А шаблоны, когда они ДЕЙСТВИТЕЛЬНО необходимы.
Александр, ваша мысль, что шаблоны нельзя применять не ради шаблонов - это совершенно верно. Но, как мне кажется, все мы применяем шаблоны проектирования чаще, чем нам кажется;)
ОтветитьУдалитьТе же стратегии, методы шаблона и медиаторы применяются десятками в любом приложении, даже если вы их так и не называете. Да и фабричные методы (статические методы создания) - это идеальный способ упростить процесс создания.
З.Ы. Вы явно находитесь на 4-й стадии владения этого инструмента, что очень хорошо!
Сергей, от Вас не ожидал подобного комментария. Спасибо!
Удалить"Но, как мне кажется, все мы применяем шаблоны проектирования чаще, чем нам кажется;)
Те же стратегии, методы шаблона и медиаторы применяются десятками в любом приложении, даже если вы их так и не называете. Да и фабричные методы (статические методы создания) - это идеальный способ упростить процесс создания.
"
-- вот ПОЛНОСТЬЮ согласен.