首页 > 其他 > 详细

适配器模式

时间:2014-03-03 23:11:43      阅读:512      评论:0      收藏:0      [点我收藏+]

  适配器模式:将一个类的接口转换成客户期望的另一个接口。

  客户使用适配器的过程:

  a. 客户通过目标接口(Duck)调用适配器(TurkeyAdapter )的方法,对适配器发出请求。

  b. 适配器(TurkeyAdapter )使用被适配者接口(Turkey)把请求(quack())转换成被支配者的一个或多个方法(gubble())。

  c. 客户接收到调用的结果,但并未察觉这一切是适配器在起转换作用。

代码示例:

public interface Duck

{

  public void quack();

  public void fly();

}

public interface Turkey

{

  public void gubble();

  public void fly();

}

  现在,假设你缺鸭子对象,想用火鸡对象来冒充。。。适配器的干活。。。

public class TurkeyAdapter implements Duck  // 你需要实现想转换成的接口,也就是客户所期望看到的接口

{

  Turkey turkey;                                      // *

  public TurkeyAdapter(Turkey turkey)

  {

    this.turkey = turkey;

  }

  public void quack()

  {

    turkey.gubble();

  }

  public void fly()

  {

    turkey.fly();

  }

}

  该模式可以通过创建适配器进行接口转换。让不兼容的接口编程兼容,这可以让用户从实现的接口解耦。

  这个适配器充满着良好的OO设计原则:使用对象组合(上注 *),以修改的接口包装被适配者:这种做法有个额外的优点:被适配者的任何子类(实现接口Turkey的类),都可以搭配着适配器使用。

适配器模式,布布扣,bubuko.com

适配器模式

原文:http://www.cnblogs.com/hachun/p/3578143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!