
기능 설명
1. 브리지 모드는 추상 인터페이스와 구현 부분을 분리하여 디커플링을 달성합니다. 이는 상속보다 더 나은 솔루션입니다.
2. 확장이 용이합니다. 브리징 모드는 상속보다 유연하며 생성되는 클래스 수를 줄이고 결합도 용이하게 합니다.
3. 브리지 모드는 두 개의 독립적인 변경 차원에 사용할 수 있습니다.
예
// 직원 그룹화
추상 수업 직원
{
추상 공용 함수 StaffData();
}
CommonStaff 클래스는 직원을 확장합니다.
{
공개 함수 StaffData()
{
return "닉네임, 小红, 小黑";
}
}
클래스 VipStaff는 직원을 확장합니다
{
공개 함수 StaffData()
{
return '샤오싱, 샤오롱';
}
}
// 양식 보내기
//추상 부모 클래스 추상 클래스 SendType
{
추상 공용 함수 send($to, $content);
}
QQSend 클래스는 SendType을 확장합니다.
{
공개 함수 __construct()
{
// QQ 인터페이스와의 연결 방법 }
공개 함수 send($to, $content)
{
$content.'('.$to'에서 QQ로)<br>';
}
}
클래스 SendInfo
{
보호된 $_level;
보호된 $_method;
공개 함수 __construct($level, $method)
{
// 여기에서는 싱글톤을 사용하여 리소스 소비를 제어할 수 있습니다. $this->_level = $level;
$this->_method = $방법;
}
공개 기능 전송($content)
{
$staffArr = $this->_level->staffData();
$result = $this->_method->send($staffArr, $content);
에코 $결과;
}
}
//클라이언트 호출
$info = new SendInfo(new VipStaff(), new QQSend());
$info->sending('저녁 먹으러 집에 가세요');
$info = new SendInfo(new CommonStaff(), new QQSend());
$info->sending('계속 작업하세요');
출력 결과:
저녁 먹으러 집으로 이동 (QQ에서 Xiaoxing, Xiaolong으로)
계속 일하세요 (To 소명, 小红, 소黑 From QQ)위 내용은 PHP 브릿지 모드의 기능입니다. 모든 분들께 도움이 되었으면 좋겠습니다.