기능 설명
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 브릿지 모드의 기능입니다. 모든 분들께 도움이 되었으면 좋겠습니다.