Автор оригинала: David Wong.
Эта статья иллюстрирует определение и использование шаблона шаблона в шаблоне проектирования PHP. Поделитесь для вашей справки следующим образом:
Шаблон шаблона подготавливает абстрактный класс, реализует некоторую логику в конкретных методах и конкретных конструкциях, а затем объявляет некоторые абстрактные методы, чтобы заставить подклассы реализовать оставшуюся логику. Различные подклассы могут реализовывать эти абстрактные методы по-разному, тем самым по-разному реализуя оставшуюся логику. Во-первых, разрабатывается логическая структура верхнего уровня, и детали логики оставляются для реализации конкретным подклассам.
Диаграмма классов UML:
Роль:
Make Phone: абстрактный класс шаблона, который определяет конкретный поток алгоритмов и некоторые абстрактные методы, оставленные для подклассов, которые должны быть реализованы.
Конкретные роли подкласса (XiaoMi): Реализация абстрактных методов в Make Phone подклассы могут иметь свои собственные уникальные формы реализации, но процесс выполнения контролируется MakePhone.
Основной код:
Вызовите тестовый код клиента:
header("Content-Type:text/html;charset=utf-8");
// ----------------------------------------- template pattern - ------------------------------------------------------------------------------------------------------
require_once "./Template/Template.php";
$miui=new XiaoMi();
$flyMe=new FlyMe();
$miui->MakeFlow();
$flyMe->MakeFlow();Результаты операции:
Производство батарей из проса завершено! Производство камеры из проса завершено! Производство просяного сита завершено! Производство мобильных телефонов из проса завершено! —————————————————————————– Батарея Meizu закончена! Камера Meizu закончена! Производство экрана Meizu завершено! Производство мобильных телефонов Meizu завершено! ——————————————————————————–
Применимые сценарии и преимущества:
1. Выполните процесс или серию шагов с постоянным уровнем детализации, но отдельные шаги могут быть реализованы по-разному на более детальном уровне. Обычно мы рассматриваем возможность использования режима шаблона для решения этой проблемы.
2. Когда инвариантное и переменное поведение смешиваются вместе в реализации подклассов методов, инвариантное поведение будет повторяться в подклассах. Мы перемещаем эти модели поведения в одно место с помощью шаблона шаблона, который помогает подклассам избавиться от запутанности повторяющихся инвариантных моделей поведения.
3. Шаблон шаблона воплощает свое преимущество, перенося инвариантное поведение в супер абстрактный класс и удаляя дублирующийся код в подклассе. Шаблон шаблона обеспечивает хорошую платформу для повторного использования кода.
Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Введение в объектно-ориентированное программирование Php, Введение в Навыки работы с массивами PHP, Введение в базовую грамматику PHP, Краткое описание работы PHP и использования операторов, Краткое описание использования строк Php, Введение в работу с базой данных php+mysql и Общие операции с базами данных php. Краткое изложение навыков письма ___________
Я надеюсь, что эта статья будет полезна для разработки программ на PHP для всех.
Оригинал: “https://developpaper.com/the-definition-and-usage-of-template-patterns-in-php-design-patterns/”