<?php
/* 适配器模式 生活中的例子,给魅族MX2手机充电是,我们不能直接连上220v电源,需要220v (转换器)
模式中的角色
1 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。(我们需要220电源的充电接口)
2 需要适配的类(Adaptee):需要适配的类或适配者类。(魅族手机上的充电接口)
3 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。 (两者之间的充电器,通常很便宜)
*/
//目标角色
interface Target {
// 充电接口
public function recharge();
}
// 手机上的充电接口
class Adaptee{
public function recharge(){
echo ' I need 6v' ;
}
}
//类适配器角色,其目的是用把目标角色的方法用源角色进行重构
// 这里要继承目标角色,因为,适配器一定要有目标角色的方法,这里指的是220v电源充电口要与手机充电器一样
class Adapter implements Target{
private $Adaptee ;
function __construct(Adaptee $Adaptee){
$this->Adaptee = $Adaptee ;
}
// 适配器的充电接口,其实是调用的手机实例中的充电接口
public function recharge(){
$this->Adaptee->recharge();
}
}
// 应用
$meizu = new Adaptee();
$adapter = new Adapter($meizu); // 手机充电器适配器
$adapter->recharge();
php中的设计模式之--适配器模式
最新推荐文章于 2024-07-10 21:13:15 发布