【php设计模式】适配器模式
程序员文章站
2022-04-08 14:08:45
适配器模式(对象适配器、类适配器): 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。 在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。 角色: Target(目标抽象类) 目标抽象类定义客户所需的接口,可以是一个抽象类或接口,也 ......
适配器模式(对象适配器、类适配器):
将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。
在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。
角色:
target(目标抽象类)
目标抽象类定义客户所需的接口,可以是一个抽象类或接口,也可以是具体类。
adapter(适配器类)
它可以调用另一个接口,作为一个转换器,对adaptee和target进行适配。它是适配器模式的核心。
adaptee(适配者类)
适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类包好了客户希望的业务方法。
对象适配器:
interface target{ public function methodone(); public function methodtwo(); } class adaptee{ public function methodone(){ echo "+++++++++\n"; } } class adapter implements target{ private $adaptee; public function __construct(adaptee $adaptee){ $this->adaptee = $adaptee; } public function methodone(){ $this->adaptee->methodone(); } public function methodtwo(){ echo "------------"; } } $adaptee = new adaptee(); $adapter = new adapter($adaptee); $adapter->methodone();
类适配器:
class adapter2 extends adaptee implements target{ public function methodtwo(){ echo "-----------"; } } $adapter2 = new adapter2(); $adapter2->methodone();
上一篇: Coreldraw怎么使用缩放和手形工具处理中秋月饼图?
下一篇: PHP 的闭包