• Шаблоны для вашего сайта
  • Сделать сайт
  • Реклама
  • Berry CSS
  • Albireo Framework
  • Бесплатный HTML-курс
  • Telegram-канал
  • Обратная связь
MaxSite.org
О создании сайтов и не только
Создание сайтов под ключ →
Вход
×
или зарегистрироваться
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 (внедрение зависимости)
  • Понимание ООП на примере Паскаля
  • Dependency Injection простыми словами
Навигация
  • Шаблоны для MaxSite CMS 22
  • jQuery и JavaScript 6
  • Java и Android 5
  • PHP/ООП 25
  • SQL 17
  • Albireo Framework 11
  • Berry CSS 7
  • CSS, HTML, LESS, SASS 23
  • PHP 37
  • Тайм-менеджмент 9
  • Софт 37
  • SEO 13
  • Git. GitHub 3
  • CodeIgniter 5
  • Landing Page 3
  • Alpine.js 14
  • Фильмы 2
  • Дневник 55

Вот здесь можно заказать создание сайта, шаблона или лендинга. Также вы можете выбрать готовые шаблоны для MaxSite CMS по небольшой цене. Также можно купить отдельные модули, компоненты для вашего сайта.

Шаблон Bridge (Мост)

PHP/ООППросмотров: 3892Комментарии: 04 ноября 2019 г.
ООП

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

Приложение Java должны работать в разных операционных системах и возникает проблема унификации элементов. Например чекбоксы или выпадающие списки в Windows и Linux имеют разный вид. Таким образом, библиотека визуальных компонентов должна развиваться отдельно, но будет ещё один интерфейс, который будет реализовывать уже конкретную версию отрисовки. Вот такая взаимосвязь и реализуется через шаблон Мост.

Начать, наверное лучше с просмотра исходного кода.

Итак. У нас есть некий интерфейс BridgeInterface, которым определяется тип данных. Его реализация происходит в классах Bridge1 и Bridge2.

Также у нас есть некий класс приложения App, который расширяет абстрактный класс AppAbstract. Это класс в своём конструкторе принимает какой-то конкретный BridgeInterface и выполняет с ним необходимые операции.

Внешне это выглядит так:

$a = new App(new Bridge1());
$a->run();
 
$b = new App(new Bridge2());
$b->run();

Если внимательно посмотреть, то Bridge очень похож на шаблон Strategy. Различия носят больше «идеологический» характер. В Bridge упор делается на строгую типизацию, поэтому используются интерфейсы и абстрактные классы. В Стратегии же, главная задача — запуск конкретного метода, который может быть достаточно «вольным».

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


Создание сайтов (Украина) →
Шаблон Decorator (Декоратор)
Шаблон Prototype (Прототип)
twitter.com facebook.com
Другие записи сайта
Сравнение Drupal, Joomla и WordPress
Сравнение Drupal, Joomla и WordPress
Самая сложная задача в лендинге
Самая сложная задача в лендинге
Дизайнеры - это работники прачечной
Дизайнеры - это работники прачечной
Чеклист или методика создания шаблона
Чеклист или методика создания шаблона
Как быстро определить «правильные» шрифты?
Как быстро определить «правильные» шрифты?
Учимся работать с шаблоном MF. Модули главной
Учимся работать с шаблоном MF. Модули главной
Оставьте комментарий!

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

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

MaxSite.org
Как создать свой сайт

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