PHP设计模式
结构型模式(11)桥接模式
>桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 聚合关系:A对象可以包含B对象 但B对象不是A对象的一部分 - 桥接与适配器模式的关系: - 桥接属于聚合关系,两者关联 但不继承 - 适配器属于组合关系,适配者需要继承源 ```php <?php /** * *实现化角色, 给出实现化角色的接口,但不给出具体的实现。 */ abstract class Implementor { abstract public function operationImp(); } class ConcreteImplementorA extends Implementor { // 具体化角色A public function operationImp() {echo "A";} } class ConcreteImplementorB extends Implementor { // 具体化角色B public function operationImp() {echo "B";} } /** * * 抽象化角色,抽象化给出的定义,并保存一个对实现化对象的引用 */ abstract class Abstraction { protected $imp; // 对实现化对象的引用 public function operation() { $this->imp->operationImp(); } } class RefinedAbstraction extends Abstraction { // 修正抽象化角色, 扩展抽象化角色,改变和修正父类对抽象化的定义。 public function __construct(Implementor $imp) { $this->imp = $imp; } public function operation() { $this->imp->operationImp(); } } // client $abstraction = new RefinedAbstraction(new ConcreteImplementorA()); $abstraction->operation();//输出:A $abstraction = new RefinedAbstraction(new ConcreteImplementorB()); $abstraction->operation();//输出:B ?> ```
顶部
收展
底部
[TOC]
目录
PHP设计模式概述
设计模式之开闭原则
设计模式之里氏代换原则
设计模式之接口隔离原则
创建型模式(1)单例模式
创建型模式(2)工厂模式
创建型模式(3)抽象工厂模式
创建型模式(4)原型模式
创建型模式(5)建造者模式
结构型模式(6)委托代理模式
结构型模式(7)装饰模式
结构型模式(8)外观模式
结构型模式(9)组合模式
结构型模式(10)适配器模式
结构型模式(11)桥接模式
结构型模式(12)享元模式
行为型模式(13)策略模式
行为型模式(14)解释器模式
行为型模式(15)观察者模式
行为型模式(16)模板方法模式
行为型模式(17)迭代器模式
行为型模式(18)命令模式
行为型模式(19)备忘录模式
行为型模式(20)状态模式
行为型模式(21)访问者模式
行为型模式(22)中介者模式
行为型模式(23)责任链模式
相关推荐
PHP基础
PHP函数
PHP算法
PHP版本