Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Designmuster-Bridge-Modus
Dieser Artikel stellt den Bridge-Modus des PHP-Entwurfsmusters vor, der einen gewissen Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.
Bridge-Modus ist ein Objektstrukturmuster, das den abstrakten Teil vom Implementierungsteil trennt, sodass sie sich unabhängig voneinander ändern können.
Zusammenfassend lässt sich sagen, dass sich ihre jeweiligen Änderungen in mehreren Dimensionen nicht gegenseitig beeinflussen und durch Überbrückung eine gewisse Assoziation für den dynamischen Vergleich der Flexibilität hergestellt wird dieses Modells hoch.
Es ist so, als würden wir eine Reisschüssel zu verschiedenen Gerichten essen, wie zum Beispiel eine Reisschüssel mit grünem Pfeffer und zerkleinertem Schweinefleisch oder eine Reisschüssel mit Kartoffeln und Rindfleisch.
Grundnahrungsmittel: Reis, Nudeln.
Ergänzungsfutter: grüne Paprika, zerkleinertes Schweinefleisch, Kartoffeln und Rindfleisch.
Grundnahrungsmittel und Ergänzungsnahrung sind zwei unterschiedliche Dimensionen, und jede kann weiterhin Arten hinzufügen. Zum Beispiel: Ergänzungsnahrung kann ein weiterer Lauch, ein Ei usw. hinzufügen und mit kombiniert werden gegenseitig.
Der Aufnahmecode lautet wie folgt:
/** 抽象一个主食类 * 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();
Ausgabeergebnis:
Reisschüssel mit grünem Pfeffer und zerkleinertem Schweinefleisch
Reisschüssel mit Kartoffelrindfleisch
Verwandte Empfehlungen:
PHP Design Pattern Adapter Pattern
PHP Design Pattern Builder Pattern
PHP Design Pattern Prototype Pattern
Das obige ist der detaillierte Inhalt vonPHP-Designmuster-Bridge-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!