2021年6月29日星期二

PHP设计模式—桥接模式

 

定义:

桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。

 

结构:

  • Abstraction:抽象类。
  • RefindAbstraction:被提炼的抽象类。
  • Implementor:实现类。
  • ConcreteImplementor:具体实现类 。
  • Client:客户端代码。

 

代码实例:

接下来用代码实现一个颜色组合的例子,有三种颜色:黑、白、红,三种形状:圆形、正方形、长方形,可以自由组合。在这个例子中Abstraction表示形状,RefindAbstraction表示圆形、正方形、长方形,Implementor表示颜色,ConcreteImplementor表示黑、白、红。

/** * 颜色抽象类 * Class Colour */abstract class Colour{ /**  * @return mixed  */ abstract public function run();}/** * 黑色 * Class Black */class Black extends Colour{ public function run() {  // TODO: Implement run() method.  return '黑色'; }}/** * 白色 * Class White */class White extends Colour{ public function run() {  // TODO: Implement run() method.  return '白色'; }}/** * 红色 * Class Red */class Red extends Colour{ public function run() {  // TODO: Implement run() method.  return '红色'; }}/** * 形状抽象类 * Class Shape */abstract class Shape{ /**  * 颜色  * @var Colour  */ protected $colour; /**  * Shape constructor.  * @param Colour $colour  */ public function __construct(Colour $colour) {  $this->colour = $colour; } /**  * @return mixed  */ abstract public function operation();}/** * 圆形 * Class Round */class Round extends Shape{ /**  * @return mixed|void  */ public function operation() {  // TODO: Implement operation() method.  echo $this->colour->run() . '圆形<br>'; }}/** * 长方形 * Class Rectangle */class Rectangle extends Shape{ /**  * @return mixed|void  */ public function operation() {  // TODO: Implement operation() method.  echo $this->colour->run() . '长方形<br>'; }}/** * 正方形 * Class Square */class Square extends Shape{ /**  * @return mixed|void  */ public......

原文转载:http://www.shaoqun.com/a/836112.html

跨境电商:https://www.ikjzd.com/

sgshop:https://www.ikjzd.com/w/1982

亿恩:https://www.ikjzd.com/w/1461

kili:https://www.ikjzd.com/w/238


定义:桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。结构:Abstraction:抽象类。RefindAbstraction:被提炼的抽象类。Implementor:实现类。ConcreteImplementor:具体实现类。Client:客户端代码。代码实例:接下来用代码实现一个颜色组合的例子,有三种颜色:黑、白、红,三种形状:圆形、正方形、长方形,可以自由组合
new old stock:https://www.ikjzd.com/w/2341
传统外贸和跨境电商的区别:https://www.ikjzd.com/articles/96776
快讯!阿里集团掷亿级美元投资,Shopify收购批发采购平台!:https://www.ikjzd.com/articles/96777
货代注意:南非港务局的罢工,导致港口全面关闭 :https://www.ikjzd.com/articles/96779
Pinterest营销易犯的15个错误 (上篇):https://www.ikjzd.com/articles/96841
老师你的奶好大又圆 老师让我解开蕾丝胸罩:http://lady.shaoqun.com/a/247356.html
男友喜欢听我叫越叫越厉害 男朋友舌头伸进去吃小豆豆:http://lady.shaoqun.com/a/247218.html
三个男人和我玩4P的过程 我跟几个男人玩多p经历:http://www.30bags.com/m/a/249895.html
我和我最好的朋友第一次对海边印象深刻:http://lady.shaoqun.com/a/391599.html
"男女朋友失恋了,想让我满足他的生理需求":我和男朋友一起去的:http://lady.shaoqun.com/a/391600.html
开心的笑:我听男朋友说:太紧进不去了,表哥:这是第一次…:http://lady.shaoqun.com/a/391601.html
女朋友说:你赶紧分手吧,可是我坚持了很久,第一次就给了他:http://lady.shaoqun.com/a/391602.html

没有评论:

发表评论