【php设计模式】适配器模式
2024-09-04 03:47:17
适配器模式(对象适配器、类适配器):
将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。
在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。
角色:
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();
最新文章
- 一次基于etcd的分布式锁自动延时失败问题的排查
- jQuery File Upload done函数没有返回
- poj 3321:Apple Tree(树状数组,提高题)
- MATLAB中提供的线型属性
- C#全角转换成半角并检查
- 启动hadoop
- Ubuntu 改动bash
- javascript小实例,PC网页里的拖拽(转)
- 教你如何理解SQL
- I/O重定向与管道
- 基于视觉的Web页面分页算法VIPS的实现源代码下载
- 文本处理sed常用操作
- ubuntu系统普通用户sudo命令执行报错解决方案
- C#基础(六)--枚举的一些常用操作
- 详解BLE连接建立过程
- golang数据类型与转换
- iOS开发支付篇-内购(IAP)
- spring事务详解(三)源码详解
- jQuery的基本选择器
- centos系统中php7安装memcached 扩展