Maison  >  Article  >  développement back-end  >  Explication détaillée et cas du mode pont PHP

Explication détaillée et cas du mode pont PHP

墨辰丷
墨辰丷original
2018-05-16 13:52:291751parcourir

Cet article présente principalement l'explication détaillée et les cas du mode pont PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Le mode Bridge (Bridge) est un mode 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'influencent pas. Certaines associations sont établies par pontage et une combinaison dynamique est réalisée.

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 : émincé de porc au poivron 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 les uns avec les autres.

Le code d'enregistrement est le suivant :

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


Résultat de sortie :

Bol de riz au poivron vert et au porc râpé
Pomme de terre et bœuf bol de riz

Recommandations associées :

Mode pont de modèles de conception PHP

Série de modèles de conception JavaScript 6 : Mode pont

Comment configurer une IP statique en mode pont Linux

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