php 适配器模式

一,适配器模式,属于结构设计模式的一种,用于将一个类的接口转换成客户期望的接口。

1,目标接口(Target Interface):是客户期望的接口,定义了客户要调用的方法。

2,适配器类(Adapter Class):实现了目标接口,并将其方法转发到被适配者。适配器类可以是类适配器(通过继承被适配者实现)或者对象适配器(组合实现,传递被适配者类)

3,被适配者(Adaptee):需要被适配到目标接口的类

二,对象适配器的简单例子

php 复制代码
//目标接口
Interface Target{
    public function getName();
}
//被适配者
class Adaptee{

    public function getUserInfo(){
        echo '姓名:张三';
    }
}
//适配器
class Adapter implements Target{
    private $adaptee;
    function __construct(Adaptee $adaptee){
        $this->adaptee=$adaptee;
    }
    public function getName(){
        $this->adaptee->getUserInfo();
    }
}
//客户端调用
$adapteeObj=new Adaptee();
$adapterObj=new Adapter($adapteeObj);
$adapterObj->getName();//姓名:张三

适配器模式可以帮助你在修改原有代码的同时,使得旧的类和新的代码能够兼容工作。这样可以实现代码的复用和灵活性。

相关推荐
Mr_WangAndy5 小时前
C++设计模式_结构型模式_组合模式Composite(树形模式)
c++·设计模式·组合模式
rongqing20196 小时前
Google 智能体设计模式:优先级排序
设计模式
Meteors.6 小时前
23种设计模式——享元模式(Flyweight Pattern)
设计模式·享元模式
我是好小孩9 小时前
【Android】六大设计原则
android·java·运维·服务器·设计模式
rongqing201912 小时前
Google 智能体设计模式:评估与监控
设计模式
rongqing201912 小时前
Google 智能体设计模式:工具使用(函数调用)
设计模式
勤劳打代码13 小时前
妙笔生花 —— Flutter 实现飞入动画
前端·flutter·设计模式
NiKo_W14 小时前
Linux 进程通信——基于建造者模式的信号量
linux·设计模式·建造者模式·system v
rongqing201914 小时前
Google 智能体设计模式:探索与发现
人工智能·设计模式
stwood00714 小时前
codeigniter换服务器之后,会员登录之后又跳回登录页面的解决方法
服务器·php