• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP桥接模式详解及案例

php 搞代码 3年前 (2022-01-22) 21次浏览 已收录 0个评论

本篇文章主要介绍PHP桥接模式详解及案例,感兴趣的朋友参考下,希望对大家有所帮助。

桥接模式(Bridge)是一种对象结构型模式,将抽象部分与实现部分分离,使它们都可以独立地变化。
总结来说就是在多维度上,各自变化互不影响,通过桥接建立一定关联,进行动态组合, 这种模式的灵活性比较高。

就类似我们去吃盖浇饭里面配各种菜一样,例如青椒肉丝盖浇饭,土豆牛肉盖浇饭。

主食:饭,面。
辅食:青椒肉丝,土豆牛肉。

主食,辅食两个不同的维度,各自可以继续添加种类,例如:辅食可以再添加一个韭菜鸡蛋等,又可以相互组合。

记录代码如下:

/**        * 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      <a style="color:transparent">来@源gao*daima.com搞@代#码网</a><strong>搞gaodaima代码</strong>     */  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设计模式系列六:桥接模式

linux桥接模式下配置静态ip的方法

以上就是PHP桥接模式详解及案例的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP桥接模式详解及案例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址