Таксономия шаблона


Одно из событий, которое произошло при развитии шаблонов проектирования, состоит в том, что можно принять за "загрязнение" термина - люди начали использовать термин в том понимании, которое синонимично с понятием "хорошо". После некоторого раздумья я пришел к своего рода иерархии, которая описывает последовательность различных типичных категорий:

  1. Идиома: как мы пишем код на определенном языке для выполнения определенных действий. Это может быть чем-то столь же общим, как процесс кодирования продвижения по массиву на C (когда мы не доходим до конца).

  2. Специфичный дизайн: решение, к которому мы пришли при работе над определенной проблемой. Это может быть искусный дизайн, но он не делает попыток к обобщению.

  3. Стандартный дизайн: путь решения проблем такого рода. Дизайн, который стал более общим, обычно посредством повторного использования.

  4. Дизайн шаблонов: как решить весь класс аналогичных проблем. Он обычно появляется только после многократного применения стандартного дизайна, потом становится виден общий шаблон во всех этих приложениях.

Я чувствую, что это поможет обозревать вещи в перспективе, и покажет что на что может сгодится. Однако, это не говорит, что одно лучше другого. Это не должно настраивать чувства на попытку найти решения каждой проблеме и обобщить это решение до шаблона проектирования - это не самое лучшее использование вашего времени, и вы не можете форсировать обнаружение шаблона таким способом, они (шаблоны) имеют тенденцию хитро прятаться и появляются со временем.

Можно так же привести доводы в пользу включения Анализа Шаблона и Архитектуры Шаблоны в эту таксономию.