Описание функции
1. Режим моста разделяет абстрактный интерфейс и часть его реализации для достижения разделения, что является лучшим решением, чем наследование.
2. Легко расширяется. Режим моста более гибок, чем наследование. Он уменьшает количество создаваемых классов, а также облегчает их комбинирование.
3. Режим моста можно использовать для двух независимых изменяющихся измерений.
Пример
// Группировка сотрудников абстрактный класс Staff { абстрактная публичная функция StaffData(); } класс CommonStaff расширяет Staff { публичная функция StaffData() { вернуть «прозвище, 小红, 小黑»; } } класс VipStaff расширяет Staff { публичная функция StaffData() { вернуть «Сяосин, Сяолун»; } } // отправить форму //Абстрактный родительский класс абстрактный класс SendType { абстрактная публичная функция send($to, $content); } класс QQSend расширяет SendType { публичная функция __construct() { // Метод подключения с интерфейсом QQ } публичная функция send($to, $content) { вернуть $content. '(To '. $to 'Из QQ)
'; } } класс SendInfo { защищенный $_level; защищенный $_method; публичная функция __construct($level, $method) { // Здесь вы можете использовать синглтон для управления потреблением ресурсов $this->_level = $level; $this->_method = $method; } отправка публичной функции ($content) { $staffArr = $this->_level->staffData(); $result = $this->_method->send($staffArr, $content); эхо $результат; } } //Вызов клиента $info = новый SendInfo(новый VipStaff(), новый QQSend()); $info->sing('Иди домой ужинать'); $info = новый SendInfo(новый CommonStaff(), новый QQSend()); $info->sending('Продолжить работу'); Результат вывода: Идите домой на ужин (в Сяосин, Сяолун из QQ) Продолжать работать (В 小名, 小红, 小黑 из QQ)
Выше приведена функция режима моста PHP, надеюсь, она будет полезна всем.