Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung und Fälle des PHP-Bridge-Modus

Detaillierte Erklärung und Fälle des PHP-Bridge-Modus

墨辰丷
墨辰丷Original
2018-05-16 13:52:291682Durchsuche

In diesem Artikel werden hauptsächlich die detaillierten Erklärungen und Fälle des PHP-Bridge-Modus vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Bridge-Modus (Bridge) ist ein Objektstrukturmodus, der 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 nicht gegenseitig durch Überbrückung und dynamische Kombination auswirken. Dieses Modell weist eine relativ hohe Flexibilität auf.

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, eine Reisschüssel mit Kartoffeln und Rindfleisch.

Grundnahrungsmittel: Reis, Nudeln.
Ergänzungsfutter: Geschnetzeltes Schweinefleisch mit grüner Paprika, Kartoffeln und Rindfleisch.

Grundnahrungsmittel und Ergänzungsnahrung sind zwei unterschiedliche Dimensionen, und jede kann weiterhin Sorten hinzufügen. Zum Beispiel kann Ergänzungsnahrung ein weiterer Lauch, ein Ei usw. hinzufügen und miteinander kombiniert werden.

Der Aufnahmecode lautet wie folgt:

/**       
 * 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();


Ausgabeergebnis:

Reisschüssel mit grünem Pfeffer und zerkleinertem Schweinefleisch
Reisschüssel mit Kartoffeln und Rindfleisch

Verwandt empfohlen:

PHP Design Patterns Bridge-Modus

JavaScript Design Pattern Series 6: Bridge-Modus

Linux So konfigurieren Sie statische IP im Bridge-Modus

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung und Fälle des PHP-Bridge-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn