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

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

相关推荐
MobotStone4 小时前
AI 写代码越来越爽,但程序员可能越来越废了
人工智能·设计模式
墨子夕5 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式
墨子夕7 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(第一篇)
java·python·设计模式
李纲明8 小时前
WordPress 古腾堡点「更新」报「不是有效的 JSON 响应」:我按 REST 接口一路查下来的顺序
运维·nginx·php·wordpress·rest api
专业程序开发源9 小时前
springboot校企合作双选会一站式预约与面试系统16010-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·面试·php·课程设计
General_G9 小时前
创建型模式—原型(Prototype)模式
c++·设计模式·原型模式
郑州光合科技余经理9 小时前
同城商城源码:商品库和订单库怎么随包交付
android·java·开发语言·后端·uni-app·php·ai编程
minglie110 小时前
zynq联网配置
网络·数据库·php
geovindu12 小时前
rust: Template Method Pattern
开发语言·后端·设计模式·rust·行为模式·模板方法模
BingoGo12 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
后端·php