Maison >développement back-end >tutoriel php >Mode pont du modèle de conception PHP

Mode pont du modèle de conception PHP

不言
不言original
2018-04-18 11:53:001763parcourir

Cet article présente le mode pont du modèle de conception PHP, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Mode pont est un modèle structurel d'objet qui sépare la partie abstraite de la partie implémentation afin qu'elles puissent changer indépendamment.
En résumé, dans plusieurs dimensions, leurs changements respectifs ne s'affectent pas, et une certaine association s'établit par pontage pour une combinaison dynamique. de ce modèle haut.

C'est comme lorsque nous mangeons un bol de riz avec divers plats, comme un bol de riz au poivron vert et au porc râpé, un bol de riz aux pommes de terre et au bœuf.

Aliment de base : riz, nouilles.
Aliment complémentaire : porc émincé au poivre vert, pommes de terre et bœuf.

Les aliments de base et les aliments complémentaires sont deux dimensions différentes, et chacun peut continuer à ajouter des types. Par exemple : les aliments complémentaires peuvent ajouter un autre poireau, un œuf, etc., et peuvent être combinés avec. l'un l'autre.

Le code d'enregistrement est le suivant :

       
    /** 抽象一个主食类      
 *  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();


Résultat de sortie :

Bol de riz au porc râpé au poivre vert
Bol de riz au bœuf et aux pommes de terre

Recommandations associées :

Modèle d'adaptateur de modèle de conception PHP

Modèle de générateur de modèle de conception PHP

Modèle de prototype de modèle de conception PHP


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn