이 기사에서는 특정 참조 가치가 있는 PHP 디자인 패턴의 브리지 모드를 소개합니다. 이제 모든 사람과 공유합니다. 필요한 친구가 참조할 수 있습니다.
브리지 모드(Bridge) 는 객체 구조 유형 패턴 별도의 추상입니다. 구현 부분의 부분을 독립적으로 변경할 수 있습니다.
요약하자면, 다차원에서는 각각의 변화가 서로 영향을 미치지 않으며, 브리징을 통해 특정 연관이 형성되고, 동적 결합이 상대적으로 높은 모델입니다.
마치 풋고추와 다진 돼지고기 덮밥, 감자와 쇠고기 덮밥 등 다양한 요리와 함께 덮밥을 먹을 때와 같습니다.
주식: 밥, 국수.
보충식품: 풋고추 다진 돼지고기, 감자, 쇠고기.
주식과 보완식품은 차원이 다르며 각각 계속해서 유형을 추가할 수 있습니다. 예를 들어 보완식품에는 부추, 계란 등을 추가할 수 있고 서로 결합될 수 있습니다.
녹음 코드는 다음과 같습니다.
/** 抽象一个主食类 * abstract Food */ abstract Class Food { public $dishes; // 一开始会赋值对象 abstract function MakeFood(); } /** 盖浇饭类 继承主食类 * Rice */ Class Rice extends Food { function MakeFood() { $this->dishes->MakeDishes(); echo "盖浇饭<br/>"; } } /** 盖浇面类 继承主食类 * Noodle */ Class Noodle extends Food { function MakeFood() { $this->dishes->MakeDishes(); echo "盖浇面<br/>"; } } /** 菜肴接口 * interface Dishes */ interface Dishes { function MakeDishes(); } /** 青椒肉丝类 继承菜肴接口 * QJRS */ Class QJRS implements Dishes { function MakeDishes(){ echo "青椒肉丝"; } } /** 土豆牛肉类 继承菜肴接口 * TDNR */ Class TDNR implements Dishes { function MakeDishes(){ echo "土豆牛肉"; } }
<?php // 桥接模式 index.php header("Content-Type:text/html;charset=utf-8"); require_once "Bridge.php"; // 要一份盖浇饭 $rice = new Rice(); // 浇头要 青椒肉丝 $rice->dishes = new QJRS(); // 上菜 $rice->MakeFood(); // 同样的要一份盖浇饭 $rice = new Rice(); // 这次改了浇头要 土豆牛肉 $rice->dishes = new TDNR(); // 上菜 $rice->MakeFood();
출력 결과:
고추 돼지고기 덮밥
감자 쇠고기 덮밥
관련 추천:
PHP 디자인 패턴의 빌더 패턴PHP 디자인 패턴의 프로토타입 패턴위 내용은 PHP 디자인 패턴 브리지 모드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!