
Описание функции
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)<br>';
}
}
класс 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, надеюсь, она будет полезна всем.