适配器模式深入

适配器模式深入

ID:38373080

大小:273.50 KB

页数:28页

时间:2019-06-11

适配器模式深入_第1页
适配器模式深入_第2页
适配器模式深入_第3页
适配器模式深入_第4页
适配器模式深入_第5页
资源描述:

《适配器模式深入》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现,或者通过组合一些对象,从而实现新的功能。GoF23种设计模式中的结构型模式有7种,分别是适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、外观模式(Facade)、桥接模式(Bridge)、组合模式(Composite)、享元模式(Flyweight)。它们之间的关系如图12-1所示。图12-1 各模式之间的关系其中对象的适配器模式是各种模式的起源,是一种比较重要的适配器模式。从箭头的方向可以看出各个模式的产生关系。这7种模式的作用不同,分别如下。Ø   适配器模式(Adapte

2、r):将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题。Ø   根据适配对象的不同,又分为3种类型:Ø      类的适配器模式:用于对类进行适配。Ø      对象的适配器模式:用于对对象进行包装。Ø      接口的适配器模式:用于对接口抽象化。Ø   装饰器模式(Decorator):向某个对象动态地添加更多的功能。装饰器模式是除类继承外另一种扩展功能的方法。Ø   代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。Ø   外观模式(Facade):为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口

3、,这个接口使得这一子系统更加容易使用。Ø   桥接模式(Bridge):将一个抽象与实现解耦,以便两者可以独立的变化。Ø   组合模式(Composite):把多个对象组成树状结构来表示局部与整体,这样用户可以一样地对待单个对象和对象的组合。Ø   享元模式(Flyweight):通过共享以便有效地支持大量小颗粒对象。接下来将对7种常用结构型模式进行比较,并通过经典的代表实例来说明该如何使用各种结构型模式:Ø   适配器模式—Iterator适配器(对象的适配器模式)、Enumeration适配器(对象的适配器模式)、AWT事件适配器(接口的适配器模式)、I/O字节流到字符流的适配器(对象的

4、适配器模式)。Ø   装饰器模式—I/O输入/输出流管道的装饰器模式、Sitemesh装饰器。Ø   代理模式—Java动态代理机制。Ø   桥接模式—JDBC桥DriverManager。Ø   组合模式—AWT容器Container。Ø   享元模式—数据库连接池。下面来看详细的内容。12.1 适配器模式(Adapter)下面从以下几个方面来详细讲解适配器模式。Ø   适配器模式的核心思想。Ø   第一种:类的适配器模式(对类进行适配)。Ø   第二种:对象的适配器模式(对对象进行包装)。Ø   第三种:接口的适配器模式(对接口抽象化)。Ø   何时使用适配器模式。Ø   Java中的应

5、用—Iterator适配器(对象的适配器模式)。Ø   Java中的应用—Enumeration适配器(对象的适配器模式)。Ø   Java中的应用—AWT事件适配器(接口的适配器模式)。Ø   Java中的应用—I/O字节流到字符流的适配器(对象的适配器模式)。12.1.1 适配器模式的核心思想适配器模式的核心思想:把原有的接口转变成调用者期待的接口,从而使不同接口的类可以一起工作。适配器中包含如下3个角色。Ø   源角色Adaptee:需要适配的目标类或接口。Ø   目标角色Target:所期望得到的接口。Ø   适配器角色Adapter:适配器类是本模式的核心,用来把源接口转换成目标接

6、口,显然这一角色不可以是接口,而必须是具体类。这3者角色之间的交互关系便组成了适配器模式的模型,如图12-2所示。Adaptee类只有operation()方法,没有newoperation()方法,但是客户端又需要目标类同时拥有这两个方法,这时便可以新建一个接口Target,并提供一个中间环节Adapter类,Adapter类实现了Target接口,并继承自Adaptee,Adapter类的operation()方法重新封装了Adapter类的operation()方法,并同时实现了newoperation()方法,这便实现了适配的目的。图12-2 适配器模式的模型适配器也叫做包装器模式(

7、Wrapper),根据适配对象的不同,又可以将适配器模式分为3种子类型。Ø   类的适配器模式:用于对类进行适配。Ø   对象的适配器模式:用于对对象进行包装。Ø   接口的适配器模式:用于对接口抽象化。下面分别通过实例的形式来展示这3种模式的使用。12.1.2 第一种:类的适配器模式(对类进行适配)第一种模式是类的适配器模式,它用来对目标类进行包装,如图12-3所示。Ø   Source类是具体的原始类,是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。