Отправляет email-рассылки с помощью сервиса Sendsay

Code Blog

  Все выпуски  

Блог о программировании Паттерн проектирования Абстрактная фабрика(Abstract Factory)


Паттерн (шаблон) проектирования — это продуманный способ построения исходного кода программы для решения часто возникающих в повседневном программировании проблем проектирования. Иными словами, это уже придуманное решения, для типичной задачи. При этом паттерн не готовое решение, а просто алгоритм действий, который должен привести к желаемому результату. Давайте рассмотрим один из наиболее часто используемых порождающих паттернов — Абстрактная фабрика (Abstract Factory).

Как я уже писал ранее, существует три вида паттернов проектирования:

  • Порождающие паттерны позволяют возможность выполнять инициализацию объектов наиболее удобным и оптимальным способом.
  • Структурные паттерны описывают взаимоотношения между различными классами или объектами, позволяя им совместно реализовывать поставленную задачу.
  • Поведенческие паттерны позволяют грамотно организовать связь между сущностями для оптимизации и упрощения их взаимодействия.

Абстрактная фабрика (Abstract Factory) – это порождающий паттерн, предоставляющий возможность создания семейства взаимосвязанных или родственных объектов, не специфицируя их классов. То есть, мы определяем интерфейс для создания взаимосвязанных объектов, без необходимости реализации конкретных классов.

Давайте рассмотрим диаграмму абстрактной фабрики.

Абстрактная фабрика (Abstract Factory)

AbstractFactory — объявляет интерфейс для создания семейства взаимосвязанных или родственных объектов

AbstractProductA, AbstractProductB — се­мейство продуктов, которые будут использоваться клиентом для выполнения своих задач

ProductA1, ProductB1 — конкрет­ные типы продуктов

Client — клиент фабрики, который получает конкретные продук­ты для реализации своего поведения

Рассмотрим обобщенное описание логики создания Абстрактной фабрики:

  1. Создать класс абстрактной фабрики
  2. Создать классы конкретных фабрик
  3. Создать классы абстрактных объектов
  4. Создать классы конкретных объектов

Итак, для начала выберем предметную область для которой будем разрабатывать абстрактную фабрику. Пусть это будет невероятно упрощенное подобие пошаговой стратегии «Космические рейнджеры». Мы будем использовать абстрактную фабрику для создания экземпляров космических кораблей.

Продолжение, с деталями реализации на языке C# доступно по ссылке https://shwanoff.ru/abstract-factory/

Присоединяйтесь к социальным сетям:


В избранное