`
ayaya
  • 浏览: 453802 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

结构模式--Adapter模式

阅读更多

定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和
Adaptor(适配器)两个身份.

例如:画圆形和画方形

java 代码
  1. public class WriteRound{   
  2.     public void round(){}   
  3. }   
  4.   
  5. public class WriteSquare{   
  6.     public void square(){}   
  7. }   

 现在我们要实现既要画方形又要画圆形

第一种方式

java 代码
  1. public static void main(String[] args){   
  2.    WriteRound rnd=new WriteRound();   
  3.    WriteSquare sqr=new WreiteSquare();   
  4.   rnd.round();   
  5.   sqr.square();   
  6. }  

 

如果应用adapter模式

java 代码
  1. public class WriteAdapter extends WriteRound{   
  2.   private WriteSquare sqr;   
  3.   public WriteAdapter(WriteSquare sqr) {   
  4.     this.sqr=sqr;   
  5.   }   
  6.   
  7.   public void  round(){
  8.     super.round();
  9.     sqr.square();
  10.   } 
  11. }  

 WriteAdapter是适配器,WriteRound是适配者,WriteSquare是被适配者;

适配器首先继承适配者,然后再通过new的组合生成对象方式,生成被适配者的对象,然后再重载父类的round方法。

java 代码
  1. public class test{   
  2.   public static void main(String[] args){   
  3.      WriteAdapter wad=new WriteAdapter(new WriteSquare());   
  4.      wad.round();   
  5.   }   
  6. }  
分享到:
评论

相关推荐

    c++设计模式-结构型模式-适配器模式

    c++设计模式-结构型模式-适配器模式,其他工程,c++源码。适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    前端开源库-parse5-htmlparser2-tree-adapter

    htmlparser2提供了事件驱动的解析模式,允许用户通过监听各种解析事件来处理HTML文档,如遇到元素开始、元素结束、文本节点等。 `parse5-htmlparser2-tree-adapter`则是连接这两个库的桥梁。由于parse5和htmlparser...

    软件体系结构---设计模式的java运行代码案例

    结构型模式如适配器(Adapter)、装饰器(Decorator)、代理(Proxy)和桥接(Bridge)等,关注如何组合和组装对象,使不同组件之间可以协同工作,增强系统的结构。 行为型模式如观察者(Observer)、策略...

    PyPI 官网下载 | lab-orchestrator-lib-django-adapter-0.0.3.tar.gz

    在解压"lab-orchestrator-lib-django-adapter-0.0.3"后,通常会看到以下结构:源代码文件(如.py文件)、配置文件(如setup.py,用于安装和打包)、测试文件(用于验证库的正确性)、文档(如README,提供库的使用...

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    - 适配器模式(Adapter):使两个接口不兼容的类能够协同工作。 - 桥接模式(Bridge):将抽象部分与实现部分分离,使它们可以独立变化。 - 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的...

    前端项目-ember-data-django-rest-adapter.zip

    8. **源代码结构**:在实际项目中,这个目录可能包含`app`、`tests`、`config`、`public`等子目录,分别存放应用代码、测试代码、配置文件和静态资源。 9. **开发流程**:使用这个项目的开发者需要熟悉Ember.js的...

    drf-schema-adapter-master_restframework_django_

    在 RESTful API 设计中,数据模式(schema)扮演着关键角色,它定义了 API 的结构、字段、类型和关系。DRF 自带的 Schema 功能可以自动生成这些模式,但有时需要对其进行定制以满足特定需求,比如添加自定义验证或...

    设计模式结构型-适配器

    **适配器模式**(Adapter Pattern)属于结构型设计模式,它的目的是将一个接口转换成客户希望的另一个接口,从而使得原本由于接口不兼容而无法一起工作的那些类能够合作。适配器模式有两种形式:类适配器模式和对象...

    23种设计模式-结构型模式.docx

    《23种设计模式——结构型模式解析》 设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,被广泛应用于软件设计中,以提高代码的可读性、可维护性和复用性。在众多的设计模式中,结构型模式尤其...

    设计模式之Adapter模式和代码实现

    总结来说,Adapter模式是一种结构型设计模式,它允许两个不兼容的接口之间进行通信。通过创建一个适配器类,我们可以复用现有的类,即使它们的接口不符合我们的需求。这种模式在软件开发中非常常见,特别是在处理第...

    Amp-react-stream-adapter.zip

    这种设计模式对于处理I/O密集型任务特别有用,如网络请求或文件读写,因为它避免了不必要的等待时间,提升了整体性能。 Promise是Amp框架中的另一个关键特性,它是处理异步操作结果的一种方式。Promise代表了一个...

    ios-adapter.zip

    在IT行业中,适配器(Adapter)模式是一种常用的软件设计模式,它允许两个不兼容的接口之间进行通信。"ios-adapter.zip"这个文件名暗示了这是一个与iOS平台相关的适配器实现,可能是用于解决不同组件或服务之间的...

    JAVA设计模式-chm版

    这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...

    26种设计模式-----pdf

    结构型模式则关注如何将类或对象组合成更大的结构,例如适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、桥接模式(Bridge)和组合模式(Composite)。这些模式可以帮助我们处理类与类之间的...

    23种 设计模式---面向对象的基本原则

    - 适配器模式(Adapter):将两个不兼容的接口转换为兼容的接口,使得原本因接口不兼容而不能一起工作的类可以协同工作。 - 桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。 - 组合...

Global site tag (gtag.js) - Google Analytics