PHP设计模式 -- 适配器模式
1、什么是适配器模式?
适配器模式(Adapter)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间。
2、适配器模式中主要角色
目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的(电视,插孔是3个孔的)
源(Adaptee)角色:需要进行适配的接口(插孔是2个的)
适配器(Adapter)角色:对Adaptee的接口与Target接口进行适配;适配器是本模式的核心,适配器把源接口转换成目标接口,此角色为具体类。(插座)
3、具体代码实现如下
1 <?php 2 3 // 目标角色,需要适配的 4 interface Target() 5 { 6 public function eat(); 7 } 8 9 // 源角色,已有的 10 class Adaptee 11 { 12 public function show() 13 { 14 echo 111; 15 } 16 } 17 18 // 适配器角色,实现源角色没有的 19 class Adapter extends Adaptee implements Target 20 { 21 public function eat() 22 { 23 echo 222; 24 } 25 } 26 27 28 class Client 29 { 30 public function index() 31 { 32 $ad = new Adapter(); 33 $ad->show(); 34 $ad->eat(); 35 } 36 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!