이 글은 주로 PHP 브릿지 모드에 대한 자세한 설명과 사례를 소개하고 있으니 관심 있는 분들이 참고하시면 좋을 것 같습니다.
브리지 모드(Bridge)는 추상적인 부분과 구현 부분을 분리하여 독립적으로 변경할 수 있도록 하는 객체 구조 모드입니다.
요약하자면, 다차원에서는 각각의 변화가 서로 영향을 미치지 않으며, 동적 결합을 위한 브리징을 통해 특정 연관이 설정되는 모델입니다.
피망과 다진 돼지고기 덮밥, 감자와 소고기 덮밥 등 다양한 요리와 함께 돈부리를 먹을 때와 같습니다.
주식: 밥, 국수.
보충식품: 풋고추 다진 돼지고기, 감자, 쇠고기.
주식과 보완식품은 차원이 다르며 각각 계속해서 유형을 추가할 수 있습니다. 예를 들어 보완식품에는 부추, 계란 등을 하나 더 추가할 수 있고 서로 결합될 수 있습니다.
다음과 같이 코드를 기록하세요:
/** * Created by Sublime. * User: Ryan * Date: 2018/1/22 * File:Bridge.php */ /** 抽象一个主食类 * 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();
출력 결과:
풋고추 다진 돼지고기 덮밥
감자 소고기 덮밥
관련 추천:
JavaScript 디자인 패턴 시리즈 6 : 브리지 모드
위 내용은 PHP 브리지 모드에 대한 자세한 설명 및 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!