
Descrição da função
1. O modo bridge separa a interface abstrata e sua parte de implementação para obter o desacoplamento, que é uma solução melhor do que a herança.
2. Fácil de expandir O modo bridging é mais flexível que a herança. Reduz o número de classes criadas e também facilita a combinação.
3. O modo ponte pode ser usado para duas dimensões variáveis independentes.
Exemplo
// Agrupamento de funcionários
classe abstrata Pessoal
{
função pública abstrata staffData();
}
classe CommonStaff estende equipe
{
função pública staffData()
{
retorne "apelido, 小红, 小黑";
}
}
classe VipStaff amplia Staff
{
função pública staffData()
{
retornar 'Xiaoxing, Xiaolong';
}
}
//envia formulário
//Classe pai abstrata classe abstrata SendType
{
função pública abstrata send($to, $content);
}
classe QQSend estende SendType
{
função pública __construct()
{
// Método de conexão com interface QQ }
função pública enviar($para, $conteúdo)
{
retornar $conteúdo. '(Para $para .
}
}
classe SendInfo
{
protegido $_level;
$_method protegido;
função pública __construct($nível, $método)
{
// Aqui você pode usar um singleton para controlar o consumo de recursos $this->_level = $level;
$este->_método = $método;
}
envio de função pública ($conteúdo)
{
$staffArr = $this->_level->staffData();
$resultado = $this->_method->send($staffArr, $content);
eco $resultado;
}
}
//Chamada do cliente
$info = new SendInfo(new VipStaff(), new QQSend());
$info->sending('Vá para casa jantar');
$info = new SendInfo(new CommonStaff(), new QQSend());
$info->sending('Continuar trabalhando');
Resultado de saída:
Vá para casa jantar (Para Xiaoxing, Xiaolong do QQ)
Continuar a trabalhar (Para 小名, 小红, 小黑 De QQ)O texto acima é a função do modo bridge do PHP, espero que seja útil para todos.