97 вещей которые должен знать solution arcitect - 86
2019-12-10 14:51:12 +0600 +0600
Патология паттерна
Шаблоны проектирования являются одним из наиболее ценных инструментов, доступных для архитектора программного обеспечения. Использование шаблонов позволяет нам создавать общие решения, которые легче понимать и с которыми легче взаимодействовать. Паттерны напрямую связаны с хорошим дизайном. Этот факт может быть очень заманчивым, чтобы продемонстрировать наше архитектурное мастерство, используя множество шаблонов в проекте. Если вы обнаружите, что пытаетесь вставить ваши любимые шаблоны в проблемное пространство, где они не применяются, вы можете стать жертвой патологии паттернов. Многие проекты страдают от этой проблемы. Это проекты, в которых вы представляете, как первоначальный архитектор поднимает взгляд с последней страницы своей книги по шаблонам, потирает руки и говорит: «Вот, какой из них я буду использовать первым!?».
Этот менталитет отчасти похож на менталитет разработчика, который начинает писать класс с мыслью: «Хм, а какой класс мне расширять?».
Шаблоны проектирования являются отличными инструментами для снижения необходимой сложности, но, как и все инструменты, ими можно злоупотреблять. Шаблоны становятся проблемой, когда мы делаем их пресловутым молотком, которым мы должны наносить удары по всем ногтям. Будьте осторожны, чтобы ваша оценка паттернов не превратилась в увлечение, которое заставляет вас вводить решения, более сложные, чем они должны быть. Штампование шаблонов по всему проекту излишне
Шаблоны проектирования не являются волшебством, и их использование автоматически не квалифицирует решение как хороший дизайн..
Это многоразовые решения повторяющихся проблем. Они были обнаружены и задокументированы другими, чтобы помочь мы узнаем, когда смотрим на колесо, которое уже изобретено.
Наша задача - выявить проблемы, решаемые этими решениями, когда они возникают, и соответствующим образом применять шаблоны проектирования.
Не позволяйте своему желанию продемонстрировать знание шаблона проектирования, затуманить ваше прагматическое видение.
Сосредоточьтесь на разработке систем, которые обеспечивают эффективные бизнес-решения и используйте шаблоны которые действительно полезны для отдельно взятой проблемы.
Chad LaVigne