Super-шаблон MFШаблоны MaxSite CMSНТML-курсы бесплатноРеклама на сайтеTelegram-канал
MaxSite.org

Как создать свой сайт

Заказать сайт/блог/лендинг недорого
Дневник Софт PHP CSS, HTML, LESS, SASS PHP/ООП SEO Alpine.js Шаблон MF Тайм-менеджмент jQuery и JavaScript Java и Android CodeIgniter Landing Page Git. GitHub
PHP/ООП
  • Паттерн Singleton в PHP
  • ООП в PHP
  • Композиция и наследование ООП в PHP
  • Шаблоны проектирования для PHP
  • Шаблон «Fluent interface» (Текучий интерфейс)
  • Шаблон проектирования Facade (Фасад)
  • Шаблон Abstract Factory (Абстрактная фабрика) на PHP
  • Шаблон Factory Method (Фабричный метод) на PHP
  • Шаблон Singleton. Трейты (trait) в PHP
  • Шаблон Multiton (Пул одиночек)
  • Шаблон Registry (Реестр)
  • Шаблон Composite (Компоновщик)
  • Шаблон Builder (Строитель)
  • Шаблон Strategy (Стратегия)
  • Шаблон проектирования Adapter (адаптер)
  • Шаблон Observer (Наблюдатель)
  • Шаблон Prototype (Прототип)
  • Шаблон Bridge (Мост)
  • Шаблон Decorator (Декоратор)
  • Шаблон Flyweight (Приспособленец)
  • Шаблон Proxy (Заместитель)
  • Шаблон «Template method» (Шаблонный метод)
  • Dependency injection (внедрение зависимости)

Я готов сделать для вас сайт/лендинг на MaxSite CMS с установкой, настройкой, созданием шаблона, подгонкой дизайна и т.д. У меня большой опыт и множество созданных сайтов, плагинов, шаблонов. Также я выполняю отдельные работы по PHP и HTML5/CSS3-верстке. Могу поучаствовать в вашем стартапе как php-программист. При необходимости переведу ваш сайт с другого «движка» (WP, Wix и т.д.) на MaxSite CMS, чтобы он стал быстро работать.

Принимаю заказы на создание telegram-ботов.

Несколько примеров последних работ:

  • b-reading.ru
  • dailycars.com.ua
  • vcredite.com.ua
  • cq-herson.info
  • eremeev.org
  • booksread.ru
  • beregite-zdorovje.ru
  • regression.pro

Подробнее о моих услугах

Шаблон Composite (Компоновщик)

PHP/ООПООП9 августа 2019 г.

Основной смысл паттерна в том, чтобы позволить вначале создать коллекцию объектов классов, а после их выполнить скопом. Какое-то практическое применение Composite в PHP найти сложно, разве что для решения задач, когда требуется выполнить сразу много действий из разных классов.

Для компоновщика важно обеспечить строгое соответствие одному типу данных. Поэтому вначале создается интерфейс, который уже реализуется каждым классом. Это гарантирует, что в них будут присутствовать общие методы.

Рабочий пример я разместил на гитхабе. Рассмотрим его работу.

Класс Composite - основной, он является непосредственным компоновщиком объектов. Классы Class1 и Class2 также реализуют интерфейс CompositeInterface, а значит у них будет метод run(). После создания объекта Composite с помощью метода addClass()мы добавляем в него созданные объекты.

В компоновщике также можно добавить методы для удаления классов, или организовать древовидную структуру — тут многое зависит от задачи.

После того, как все объекты добавлены, компоновщик запускает метод run(), который запускает этот метод у всех добавленных классов.

Класс компоновщика Composite не обязательно должен реализовывать интерфейс CompositeInterface.

В чём плюсы шаблона? Все подключаемые классы имеют единый интерфейс, то есть «совместимы» между собой. В компоновщике мы не задаем последовательность выполнения классов (как например в Facade), то есть логика выполнения лежит на внешнем уровне, где мы добавляем классы.

Когда станет задача исключить выполнение какого-то класса, достаточно его не добавлять в компоновщик. И обратно — если нужно добавить новую операцию, то создаем класс и регистрируем его в компоновщике.

Шаблон Builder (Строитель)
Berry - библиотека утилитарных CSS-классов
twitter.com facebook.com

Другие записи сайта

  • Виды PHP-роутинга
  • Визуальное программирование на Java
  • Полезняшки
  • MaxSite CMS исполнилось три года!
  • Небольшое интервью
  • CodeIgniter 4. Работа с базой данных
  • Краткий обзор Tailwind CSS

Комментариев: 1 RSS

1ярик12-08-2019 14:15

ничего не понимаю, очень сложно

Оставьте комментарий!

Комментарий будет опубликован после проверки. Вы соглашаетесь с правилами сайта.

(обязательно)

MaxSite.org
Блог о том, как создавать сайты

Услуги по созданию сайтов, блогов, лендингов
Обратная связь • Реклама на сайте
Мои проекты
  • MaxSite CMS
  • Super-шаблон MF
  • Шаблоны MaxSite CMS
  • Berry CSS (CSS Utilities)
  • Albireo Framework
  • UniCSS (Universal Atomic CSS)
  • Landing Page Framework
  • Бесплатные НТML-курсы
Ссылки
  • Telegram-канал
  • Github
  • Twitter
  • Telegram-бот
  • RSS
© MaxSite.org, 2006-2021. Работает на MaxSite CMS / Время: 0.2683 / SQL: 25 / Память: 1.34MB / Вход