- 浏览: 211553 次
- 性别:
- 来自: 北京
文章分类
适配器模式:主要是为了解决,老的对象在新的环境中不兼容的现象。
如新的要求、新的接口已经决定下来,老对象中已经有实现新需求的方法,如是就可以考虑使用适配器模式了
将一个类的接口,转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作了。
组成部分:
target(目标对象,客户端要用的特定领域的接口)、adapter(适配器,定义另外一个接口,即一个转换器)、adaptee(被适配对象,adapter需要接入)、client(客户端)
共2种适配器:类适配器(采取继承的方式),对象适配器(采取对象组合的方式)推荐
对象适配器:
class Circle implements Shape
{
//这里引用了TextCircle
private TextCircle tc;
public Circle ()
{
tc= new TextCircle(); //初始化
}
void public display()
{
tc.displayIt(); //在规定的方法里面调用TextCircle 原来的方法
}
}
//shape就是target,Circle是适配器,TextCircle是被适配的。其中是display是Shape需要调用的接口
客户端调用
public static void main(String[] args){
Shape shape = new Circle();
shape.display();
}
如果是类适配器需要继承TextCircle,但是这种方式不推荐。因为java不支持多继承
如新的要求、新的接口已经决定下来,老对象中已经有实现新需求的方法,如是就可以考虑使用适配器模式了
将一个类的接口,转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作了。
组成部分:
target(目标对象,客户端要用的特定领域的接口)、adapter(适配器,定义另外一个接口,即一个转换器)、adaptee(被适配对象,adapter需要接入)、client(客户端)
共2种适配器:类适配器(采取继承的方式),对象适配器(采取对象组合的方式)推荐
对象适配器:
class Circle implements Shape
{
//这里引用了TextCircle
private TextCircle tc;
public Circle ()
{
tc= new TextCircle(); //初始化
}
void public display()
{
tc.displayIt(); //在规定的方法里面调用TextCircle 原来的方法
}
}
//shape就是target,Circle是适配器,TextCircle是被适配的。其中是display是Shape需要调用的接口
客户端调用
public static void main(String[] args){
Shape shape = new Circle();
shape.display();
}
如果是类适配器需要继承TextCircle,但是这种方式不推荐。因为java不支持多继承
发表评论
-
多种单例模式的分析
2012-03-28 18:06 0blog.csdn.net/derpvailzhangfan/ ... -
JDK中的设计模式
2012-03-14 22:56 01.Abstract Factory •java.util.C ... -
简单工厂模式使用心得(使用场景)
2012-02-23 18:24 11481在实际项目中,简单工厂模式是我们使用的最多的设计模式之一,简单 ... -
AbstractList中Iterator模式的妙用
2012-01-13 11:51 943AbstractList中为了实现顺序访问AbstractLi ... -
适合使用命令模式的情景
2012-01-13 11:31 885情景1.当借个类都拥有 ... -
Iterator模式
2012-01-13 10:57 855我个人常叫它游标模式,该模式的主要目的就是,顺序访问集合中的各 ... -
使用工厂设计模式的场景
2012-01-12 15:43 2729创建类对象虽然可以使用new(底层也是通过反射创建对象的),但 ... -
JDK中使用的设计模式
2012-01-13 10:04 14151.抽象工厂模式 实 ... -
JDK中使用的设计模式代码实例
2012-01-05 17:38 0http://stackoverflow.com/questi ... -
享元模式
2011-12-23 10:22 1001通常情况下,我们会需 ... -
策略模式
2011-12-22 17:07 837所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响 ... -
合成设计模式
2011-12-22 16:28 942如果要将对象组织到树中,使用树来表示对象之间的关系,请考虑使用 ... -
责任链模式
2011-12-20 18:35 801此文转正于http://wenku.baidu.com/vie ... -
桥梁设计模式
2011-12-19 18:19 802如果有很多对象要处理,而又有很多操作要做。这时可以考虑使用桥梁 ... -
多线程设计模式(Thread-Specific storage)
2011-12-12 15:29 5817引用自http://www.riabook.cn/doc/de ... -
代理模式
2011-11-30 15:26 904代理模式实际上是对对象的一种代理,以控制对象的访问。 有些情况 ... -
观察者模式
2011-11-16 14:48 1368声明转载的,简单易懂,呵呵 观察者模式的构造 l 抽 ... -
命令模式
2011-11-16 14:11 1220今天想学学命令模式,看见了一个文章讲的就是命令模式,感觉实例比 ... -
建造模式
2011-11-14 12:03 879建造模式是将负责对象 ... -
设计模式之模版方法
2011-11-09 16:31 782模版方法是一种非常简单的设计模式:简单的理解就是将关键的业务方 ...
相关推荐
java设计模式之适配器模式,希望对大家有所帮助。
Java设计模式之适配器模式
设计模式之适配器模式(Adapter Pattern) 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
java设计模式之适配器模式
23种设计模式之适配器模式对适配器模式进行了简单的介绍,并附带了例子程序,和大家分享
设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式之 适配器 Adapter C++ 源码 vs2019 工具,设计模式...
深入浅出Java设计模式之适配器模式[借鉴].pdf
该资源是学习完设计模式的适配器模式与外观模式根据书中内容所写的demo
适配器模式的Java实现版本,包含类适配器模式和对象适配器模式的实现,同时也包含两者的UML类图
将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载。
设计模式
用c++方法实现AdapterPattern模式
C#设计模式之适配器模式应用实例
介绍24设计模式中的Adapter模式,如果使用,实例讲解,等等