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 }