Автор оригинала: David Wong.
В этой статье представлен абстрактный фабричный шаблон шаблона проектирования PHP. Чтобы поделиться с вами для вашей справки, следующим образом:
В предыдущей статье говорилось о простой фабрике (статической фабрике) и заводском режиме в PHP. Теперь давайте поговорим об абстрактном заводском режиме
Как мы уже говорили ранее, добавить продукт очень просто. Добавление соответствующих классов продуктов и фабрик не требует изменения исходного кода, который соответствует принципу открытия и закрытия
Теперь, в последней статье, у нас есть новое требование. Нам требуются яблочные и банановые напитки, бренды Pepsi и Coca-Cola, которые не могут быть реализованы с помощью заводской модели. Я могу добавить только один продукт, но я не могу добиться этого, добавив бренд, что приводит к абстрактной заводской модели. Код выглядит следующим образом
Результат операции:
Пепси яблочный напиток Пепси банановый напиток со вкусом Кока-колы яблочный напиток Кока-Кола и банан
Теперь мы видим, что если мы хотим добавить другой бренд, нам нужно всего лишь написать другой заводской класс и соответствующий класс продукта, чтобы успешно добавить бренд без изменения исходного кода
Но сейчас очень сложно добавить один продукт. Вам нужно изменить класс фабрики, в чем разница между фабрикой и абстрактная фабрика
Фабричный шаблон предназначен для одного продукта, абстрактного класса продукта. Каждая фабрика может создать только один продукт. Он поддерживает расширение одного продукта, не поддерживает расширение семейств продуктов и нацелен на иерархию продуктов
Абстрактные фабрики нацелены на семейства продуктов, несколько абстрактных классов продуктов, каждая фабрика может создавать несколько продуктов, поддерживать расширенные семейства продуктов, не поддерживать расширенные отдельные продукты и стремиться к нескольким иерархиям продуктов
Для получения дополнительной информации о PHP вы можете ознакомиться со следующими разделами: Введение в объектно-ориентированное программирование PHP, навыки работы с массивами PHP, введение в базовый синтаксис PHP, краткое описание операций PHP и использования операторов, краткое описание использования строк PHP, введение в работу с базой данных PHP + MySQL и краткое описание общих навыков работы с базами данных PHP
Я надеюсь, что эта статья будет полезна для программирования на PHP.
Оригинал: “https://developpaper.com/an-example-analysis-of-abstract-factory-pattern-in-php-design-pattern/”