注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php开发lamp

《西安--木木》-经历丰富了生活。 架构师QQ群: 246695517

 
 
 

日志

 
 

Adapter适配器模式  

2018-03-12 12:03:03|  分类: 设计模式--php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<?php

/**
* Adapter适配器模式
*/

//接口类
/*

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。

*/
/**
* 目标接口
* Interface Target
*/
interface Target
{
public function request();//普通请求
}

/**
* 受改造者接口
* Interface Adaptee
*/
interface Adaptee
{
public function specificRequest();//特殊请求
}

//具体实现类

class ConcreteTarget implements Target{
public function request(){
echo '正常请求',"<br/>";
}
}


class ConcreteAdaptee implements Adaptee{
public function specificRequest(){
echo '特殊请求',"<br/>";
}
}

//适配器类
/**
* 双向适配器类
* Class Adapter
*/
class Adapter implements Target, Adaptee
{
//同时维持对抽象目标类和适配者的引用
private $target = null;
private $adaptee = null;

public function Adaptee(Target $target)
{
$this->target = $target;
}

public function Target(Adaptee $adaptee)
{
$this->adaptee = $adaptee;
}

public function request()
{
$this->adaptee->specificRequest();
}

public function specificRequest()
{
$this->target->request();
}
}


//客户端
//----------------------------------
$adapter = new Adapter();//适配器类
$concrete_target = new ConcreteTarget();//具体类
$concrete_adaptee = new ConcreteAdaptee();
$adapter->Adaptee($concrete_target);
$adapter->Target($concrete_adaptee);

//适配请求
$adapter->request();
$adapter->specificRequest();


  评论这张
 
阅读(6)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018