каталог паттернов patterns


https://refactoring.guru/ru/design-patterns/catalog

 https://github.com/domnikl/DesignPatternsPHP

 ЛИКБЕЗ читать обязательно

 

на аглийском 

https://www.apphp.com/tutorials/index.php?page=creational-design-patterns-in-php

 

Фабричный метод - это метод, который обычно возвращает объект какого-либо интерфейса

Абстрактная фабрика = несколько фабричных методов =>  можно в этой фабрике сделать взаимодействие объектов фабричных интерфейсов.

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

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

 

 

 

https://refactoring.guru/ru/design-patterns/abstract-factory/php/example#AbstractFactoryStructural.php

В этом примере Абстрактная фабрика создаёт кросс-платформенные элементы интерфейса и следит за тем, чтобы они соответствовали выбранной операционной системе.

Структура классов примера паттерна Абстрактной фабрики

Пример кросс-платформенного графического интерфейса пользователя.

 

  https://refactoring.guru/ru/design-patterns/factory-method/php/example#FactoryMethodStructural.php

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

Структура классов примера паттерна Фабричного метода

Пример кросс-платформенного диалога.