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();//姓名:张三

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

相关推荐
zhangfeng11331 小时前
PHP 语法检查命令 php -l “$file“ > /dev/null 2>&1;
开发语言·php
kybs19911 小时前
springboot视频推荐系统--附源码72953
java·spring boot·python·eclipse·asp.net·php·idea
计算机安禾2 小时前
【计算机网络】第6篇:虚拟局域网——基于标签的广播域划分及其安全边界
计算机网络·安全·php
zhangfeng11334 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
zx2859634007 小时前
Laravel 7.x新特性全解析
php·laravel
zx2859634008 小时前
Laravel 4.x:颠覆PHP框架的10大革新特性
开发语言·php·laravel
xxjj998a9 小时前
PHP vs C#:核心差异全解析
开发语言·c#·php
雪度娃娃9 小时前
设计模式-UML
设计模式
kyriewen119 小时前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
开发语言·前端·javascript·设计模式·ecmascript