Страницы

Поиск по вопросам

четверг, 14 февраля 2019 г.

В чем отличие паттерна 'абстрактная фабрика' от паттерна 'строитель'?

Не понял в чем различия между паттернами 'абстрактная фабрика' и 'строитель'. На основе каких критериев выполняется выбор? Какие вопросы я должен задать себе, что бы понять какой порождающий паттерн из двух приведенных мне использовать?


Ответ

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

Комментариев нет:

Отправить комментарий