浅析php适配器模式(Adapter)
前几篇介绍了设计模式的特性并且详细讲解了4种创建型模式,创建型模式是负责如何产生对象实例的,接下来讲讲结构型模式。
一、什么是结构型模式?
结构型模式是解析类和对象的内部结构和外部组合,通过优化程序结构解决模块之间的耦合问题。
二、结构型模式的种类:
适配器模式
桥接模式
装饰模式
组合模式
外观模式
享元模式
代理模式
1、适配器模式(Adapter)
将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本的由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场景:老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。
代码实现
//老的代码 classUser{ private$name; function__construct($name){ $this->name=$name; } publicfunctiongetName(){ return$this->name; } }
//新代码,开放平台标准接口 interfaceUserInterface{ functiongetUserName(); } classUserInfoimplementsUserInterface{ protected$user; function__construct($user){ $this->user=$user; } publicfunctiongetUserName(){ return$this->user->getName(); } }
$olduser=newUser('张三'); echo$olduser->getName()."n"; $newuser=newUserInfo($olduser); echo$newuser->getUserName()."n";