Шаблон метода фабрики
Этот шаблон очень похож на шаблон фабрики, клиент также запрашивает у фабрики конкретный тип объекта из иерархии классов, но метод Create класса фабрики делегирует создание конкретного объекта производному классы и возвращают объект класса типа, заданного клиентом. По сути, у вас есть единая точка контакта для создания нескольких объектов иерархии классов.
Вы можете думать об этом, как о переходе в кассу билета на самолет (диспетчер) и запросе билета, указав предпочитаемый тип билета (первый класс, представительский или эконом). Пользователь не заботится о том, как генерируется билет, даже если в представлении объекта первый класс и билет эконом-класса получены из базового класса билета.
Когда использовать
- Гибкость важна (низкая связь)
- Объекты могут быть расширены в подклассах
- Существует определенная причина, по которой один подкласс будет выбран вместо другого - эта логика является частью фабричного метода.
- Клиент делегирует обязанности подклассам в параллельных иерархиях.
Фабричный шаблон или Простой фабричный шаблон
Этот шаблон очень похож на шаблон фабричного метода. Но в отличие от шаблона фабричного метода, этот шаблон немного проще. Вместо того, чтобы делегировать создание подклассам, метод Create самой фабрики создает экземпляр требуемого типа и возвращает его.
Образец строителя
В шаблоне компоновщика сложная задача создания объектов заключена в классе или методе. Например, рассмотрим случай заказа еды на стойке быстрого питания. Еда обычно состоит из гамбургера, картофеля фри и напитка. Каждый элемент в еде имеет свой собственный процесс создания. Вместо того, чтобы клиенту приходилось иметь дело с процессом создания каждого предмета, эта задача обрабатывается счетчиком, в котором заказывается еда. Когда заказ размещен, лицо в качестве прилавка берет на себя ответственность за создание блюда, состоящего из трех предметов, и возвращает его в качестве отдельного экземпляра еды клиенту.
В то время как другой клиент может попросить еду, которая идет с большой картошкой фри и диетическим колой. Опять же, человек за счетчиком заказов отвечает за создание порядка, отличного от первого. С точки зрения покупателя, заказ всегда размещается и счетчик, за которым следует возвращаемая еда.
Когда использовать
- Строительство объекта - не простая задача
- Подкомпоненты составляют каждый объект
- Существует необходимость в том, чтобы клиенту требовался более чем один вид (с разграничительной частью в нем). Эта потребность в различных конечных объектах может возникнуть, если не одновременно, по крайней мере, в разные моменты времени.
Дополнительная информация