Различия между Фасадным Узором и другими узорами - PullRequest
9 голосов
/ 04 мая 2010

У меня вопрос по шаблонам. У меня действительно есть проблемы с шаблонами дизайна. Не могли бы вы рассказать мне о различиях между Фасадными и Строительными, Фабричными и Абстрактными Фабричными образцами?

Ответы [ 3 ]

6 голосов
/ 04 мая 2010

Шаблон фасада используется, когда вы хотите скрыть реализацию или иным образом сделать доступным другой интерфейс. Шаблон строителя / фабрики используется, когда вы хотите скрыть детали построения экземпляров.

4 голосов
/ 04 мая 2010

Шаблон Facade абстрагирует детали от разработчика и упрощает использование определенной части кода.

Шаблон Builder отделяет конструкцию объекта от его представления. Это позволяет использовать один и тот же процесс конструирования для нескольких типов.

Фабрика и Абстрактная фабрика имеют дело с созданием экземпляра связанного набора классов на основе определенных параметров, используемых при вызове Фабрики.

2 голосов
/ 04 мая 2010

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

Фасад - это изменение интерфейса некоторого класса или набора классов. Строитель скрывает процесс строительства, разбивая его на более мелкие шаги. Фабрики - это сокрытие конкретной реализации или реализации объекта или графа объектов.

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

Так что не забывайте о небольших различиях в реализации этих шаблонов и о том, что наиболее важной частью шаблонов проектирования являются принимаемые вами решения.

...