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

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

相关推荐
AI人工智能+电脑小能手1 分钟前
大白话说Java设计模式-23-桥接模式(源码剖析篇)
java·设计模式·jdbc·桥接模式·源码分析·awt·java logging
ShiXZ2131 小时前
网络调试四剑客:ping / telnet / nc / netstat 速查指令集
运维·开发语言·网络·php
嘟嘟07172 小时前
TypeScript 工具类型通关:Pick、Omit、Partial、Record 区别与 Omit 等价实现一次讲清
设计模式·面试·typescript
weixin_BYSJ19873 小时前
springboot小区物业管理小程序---附源码45555
java·javascript·spring boot·python·django·flask·php
2601_965798473 小时前
Plastic Surgery Clinic Web Setup: Deploying Rejuvita WordPress
php·theme·wordpress
SL_staff3 小时前
中小离散制造如何用工艺路线模板解决‘人走流程丢’——JVS-APS 实践解析
java·设计模式·全栈
Asize3 小时前
3 种设计模式 + DI:Nest.js 后端第一课
后端·设计模式·nestjs
2601_965798475 小时前
Contractor Web Setup: Deploying Bathrooms & Kitchens Theme Fast
前端·web3·php·wordpress
小新讲网安7 小时前
WiFi安全攻防实战:WPA3新协议与传统破解技术全解析
开发语言·网络·安全·php·漏洞·nmap·漏洞检测
St_rive13 小时前
Page Object设计模式
java·开发语言·设计模式