PHPブリッジモードの詳しい説明と事例

墨辰丷
リリース: 2023-03-25 22:14:01
オリジナル
1755 人が閲覧しました

この記事では主に PHP ブリッジモードの詳細な説明と事例を紹介します。興味のある方はぜひ参考にしてください。

ブリッジモード(Bridge)は、抽象部分と実装部分を分離し、独立して変更できるようにするオブジェクト構造モードです。
要約すると、複数の次元において、それぞれの変更は相互に影響を与えず、ブリッジングを通じて特定の関連付けが確立され、このモデルは比較的高い柔軟性を備えています。

ピーマンと細切り豚丼、ポテトと牛丼など、色々な具材が入った丼ものを食べるのと同じです。

主食:ご飯、麺類。
補助食品: ピーマンの細切り豚肉、ジャガイモ、牛肉。

主食と補完食は 2 つの異なる次元であり、それぞれ種類を追加し続けることができます。たとえば、補完食にはネギや卵などを追加したり、相互に組み合わせることができます。

次のようにコードを記録します:

/**       
 * 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();
ログイン後にコピー


出力結果:

ピーマン細切り豚丼
ポテト牛丼

関連推奨事項:

PHPデザインパターンブリッジモード

JavaScriptデザインパターンシリーズ6 : ブリッジモード

Linuxブリッジモードで静的IPを設定する方法

以上がPHPブリッジモードの詳しい説明と事例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート