Порождающие шаблоны
проектирования
Шаблонами проектирования (Design Patterns) называют решения часто встречающихся проблем в
области разработки программного обеспечения. Шаблоны проектирования не являются готовыми
решениями, которые можно трансформировать непосредственно в код, а представляют общее
описание решения проблемы, которое можно использовать в
различных ситуациях.
Существуют несколько типов шаблонов
проектирования, каждый из которых предназначен для
решения своего круга задач:
•
Порождающие шаблоны, предназначенные для создания новых
объектов в системе;
•
Структурные шаблоны, решающие задачи компоновки системы на основе классов и
объектов;
•
Шаблоны поведения, предназначенные для распределения обязанностей между
объектами в системе.
Порождающие шаблоны проектирования предназначены для создания объектов, позволяя
системе оставаться независимой как от
самого процесса порождения, так и от типов
порождаемых объектов. Прежде чем рассматривать особенности каждого из порождающих
шаблонов, рассмотрим на
примере типичные проблемы, встающие перед разработчиками при
порождении в системе объектов новых типов.
Рассмотрим принципы работы с порождающими шаблонами на примере создания игры, где
будет необходимо создавать войска разных типов:
• Пехота;
• Конница;
• Лучники.
Каждый из этих видов войска будет обладать собственными характеристиками.
Проектирование
архитектуры должно учитывать возможности внесения изменения в
иерархию классов,
создание
новых видов войск, изменение их характеристик.
Простейшим решением будет
создание
иерархии классов для каждого вида войска: