Страницы

4 мая 2015 г.

Порождающие паттерны проектирования

  • Abstract Factory - абстрактная фабрика. Суть ее в том что существует некий интерфейс (или абстрактный класс) определяющий методы построения объекта. Классы порождаемые от этого интерфейса реализуют создание целевого объекта. Т.е. если мы имеем иерархию классов-наследников, то для конструирования объектов каждого уровня иерархии (если это нужно) нам нужно иметь иерархию фабрик.
  • Builder - строитель. Это "фабрика" с более сложной структурой, в которой предусмотрена реализация интерфейса строителя для каждого типа целевого объекта. Строитель определяет методы которые будут применяться для инициализации и конфигурирования целевого объекта. Строитель не существует сам по себе. Вместе с ним существует класс директор, который управляет строителем (запускает процесс построения целевого объекта) и класс объект которого надо построить.
  • Factory Method - фабричный метод. Это метод класса в котором прописано создание и конфигурирование объекта. Метод возвращает тип целевого объекта.
  • Prototype - прототип. Суть этого паттерна в том, что производится создание нового объекта путем клонирования некого прототипа. Например у нас имеется объект-прототип описывающий базовую конфигурация одноэтажного дома. Чтобы для создания новых домов нам не конфигурировать объект с самого начала, мы клонируем базовый и добавляем в него новые свойства. 
  • Singleton - синглтон. Это класс реализованный таким образом, что становиться невозможным создание более одного экземпляра такого класса. Банальный пример - управление глобальными настройками и доступ к ним из любого необходимого места.