浅析php适配器模式(Adapter)_php实例
一、什么是结构型模式?
结构型模式是解析类和对象的内部结构和外部组合,通过优化程序结构解决模块之间的耦合问题。
二、结构型模式的种类:
适配器模式
桥接模式
装饰模式
组合模式
外观模式
享元模式
代理模式
1、 适配器模式(Adapter)
将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本的由于接口不兼容而不能一起工作的那些类可以一起工作。
应用场景:老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。
代码实现
//老的代码
class User {
private $name;
function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
//新代码,开放平台标准接口
interface UserInterface {
function getUserName();
}
class UserInfo implements UserInterface {
protected $user;
function __construct($user) {
$this->user = $user;
}
public function getUserName() {
return $this->user->getName();
}
}
$olduser = new User('张三');
echo $olduser->getName()."n";
$newuser = new UserInfo($olduser);
echo $newuser->getUserName()."n";
注意点:这里的新接口使用了组合方式,UserInfo内部有一个成员变量保存老接口User对象,模块之间是松耦合的,这种结构其实就是组合模式。不要使用继承,虽然UserInfo继承User也能达到同样的目的,但是耦合度高,相互产生影响。
以上就是关于php设计模式中结构性模式中的适配器模式的全部内容了,小伙伴们是否了解清楚了呢,有问题就给我留言吧
推荐阅读
-
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
-
PHP设计模式(九)外观模式Facade实例详解【结构型】
-
PHP设计模式(四)原型模式Prototype实例详解【创建型】
-
PHP设计模式(三)建造者模式Builder实例详解【创建型】
-
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
-
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
-
PHP设计模式(一)工厂模式Factory实例详解【创建型】
-
PHP设计模式(七)组合模式Composite实例详解【结构型】
-
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
-
PHP单例模式实例分析【防继承,防克隆操作】