В этой статье описывается комбинированный шаблон шаблона проектирования PHP. Подробности заключаются в следующем:
В interstellar мы можем загружать карты, созданные другими пользователями, или создавать ваши собственные карты.
Когда мы выбираем, на какую карту играть, мы видим, что в игре указана карта или название пакета карт в текущем пакете карт.
Хотя карты и пакеты карт различаются по файлам и папкам, мы всегда надеемся использовать объекты для абстракции при их разработке.
Можем ли мы упростить разницу между картой и пакетом карт?
Проблемы, которые необходимо решить: Попробуйте вызвать эти два объекта с одним и тем же кодом, то есть во многих случаях нет необходимости различать, карта это или пакет карт.
Мышление: Давайте создадим абстрактный класс и позволим классу карты и классу пакета карты наследовать его. Многие методы этого класса имеют одинаковые имена.
Пример составного режима:
Краткое описание использования: Комбинированный режим может работать с контейнерами и объектами (пакет карт и карта здесь) единым способом. Когда другие коды имеют дело с этими объектами, им не нужно исследовать, кто является контейнерами, а кто объектами. Чтобы упростить объяснение, здесь нет углубленного обсуждения. На самом деле комбинированный режим часто используется для объединения с итеративным режимом. Например, мы можем использовать единый метод (например, метод show children здесь) для получения всех имен карт (включая подкаталоги) в пакете карт
Краткое описание реализации: Используйте базовый класс для реализации некоторых общих методов для контейнеров и объектов, таких как приведенная выше абстрактная карта, а затем позвольте классам контейнеров и объектов наследовать базовый класс. Из-за их различных характеристик перегружайте соответствующие методы в классах контейнеров и объектов, таких как метод addchild. Таким образом, два объекта могут управляться единым способом.
Подробнее о содержании, связанном с PHP, заинтересованные читатели могут ознакомиться со специальными разделами этого веб-сайта: “Вводный учебник по объектно-ориентированному программированию PHP”, “Энциклопедия навыков работы с массивами PHP”, “Вводный учебник по базовой грамматике PHP”, “Краткое описание операций PHP и использования операторов”, “Краткое описание использования строк PHP”, “Вводный учебник по работе с базой данных PHP + MySQL” и “Общая работа с базой данных PHP” Краткое описание навыков написания
Я надеюсь, что эта статья будет полезна для программирования на PHP.