定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和
Adaptor(适配器)两个身份.
例如:画圆形和画方形
java 代码
- public class WriteRound{
- public void round(){}
- }
-
- public class WriteSquare{
- public void square(){}
- }
现在我们要实现既要画方形又要画圆形
第一种方式
java 代码
- public static void main(String[] args){
- WriteRound rnd=new WriteRound();
- WriteSquare sqr=new WreiteSquare();
- rnd.round();
- sqr.square();
- }
如果应用adapter模式
java 代码
- public class WriteAdapter extends WriteRound{
- private WriteSquare sqr;
- public WriteAdapter(WriteSquare sqr) {
- this.sqr=sqr;
- }
-
- public void round(){
- super.round();
- sqr.square();
- }
- }
WriteAdapter是适配器,WriteRound是适配者,WriteSquare是被适配者;
适配器首先继承适配者,然后再通过new的组合生成对象方式,生成被适配者的对象,然后再重载父类的round方法。
java 代码
- public class test{
- public static void main(String[] args){
- WriteAdapter wad=new WriteAdapter(new WriteSquare());
- wad.round();
- }
- }
分享到:
相关推荐
c++设计模式-结构型模式-适配器模式,其他工程,c++源码。适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...
htmlparser2提供了事件驱动的解析模式,允许用户通过监听各种解析事件来处理HTML文档,如遇到元素开始、元素结束、文本节点等。 `parse5-htmlparser2-tree-adapter`则是连接这两个库的桥梁。由于parse5和htmlparser...
结构型模式如适配器(Adapter)、装饰器(Decorator)、代理(Proxy)和桥接(Bridge)等,关注如何组合和组装对象,使不同组件之间可以协同工作,增强系统的结构。 行为型模式如观察者(Observer)、策略...
### 设计模式之结构模式详解——适配器模式 #### 一、适配器模式概述 适配器模式(Adapter Pattern)是一种常见的设计模式,它允许我们把一个接口转换成客户希望的另一个接口,从而使原本由于接口不兼容而不能一起...
在解压"lab-orchestrator-lib-django-adapter-0.0.3"后,通常会看到以下结构:源代码文件(如.py文件)、配置文件(如setup.py,用于安装和打包)、测试文件(用于验证库的正确性)、文档(如README,提供库的使用...
- 适配器模式(Adapter):使两个接口不兼容的类能够协同工作。 - 桥接模式(Bridge):将抽象部分与实现部分分离,使它们可以独立变化。 - 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的...
例如,代理模式(Proxy Pattern)、单例模式(Singleton Pattern)、工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、适配器模式(Adapter Pattern)、模板方法模式(Template ...
8. **源代码结构**:在实际项目中,这个目录可能包含`app`、`tests`、`config`、`public`等子目录,分别存放应用代码、测试代码、配置文件和静态资源。 9. **开发流程**:使用这个项目的开发者需要熟悉Ember.js的...
在 RESTful API 设计中,数据模式(schema)扮演着关键角色,它定义了 API 的结构、字段、类型和关系。DRF 自带的 Schema 功能可以自动生成这些模式,但有时需要对其进行定制以满足特定需求,比如添加自定义验证或...
**适配器模式**(Adapter Pattern)属于结构型设计模式,它的目的是将一个接口转换成客户希望的另一个接口,从而使得原本由于接口不兼容而无法一起工作的那些类能够合作。适配器模式有两种形式:类适配器模式和对象...
《23种设计模式——结构型模式解析》 设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,被广泛应用于软件设计中,以提高代码的可读性、可维护性和复用性。在众多的设计模式中,结构型模式尤其...
总结来说,Adapter模式是一种结构型设计模式,它允许两个不兼容的接口之间进行通信。通过创建一个适配器类,我们可以复用现有的类,即使它们的接口不符合我们的需求。这种模式在软件开发中非常常见,特别是在处理第...
《设计模式--基于C#的工程化实现及扩展》是一本深入探讨软件设计模式的书籍,作者王翔通过C#语言来阐述各种设计模式的工程化应用和拓展。设计模式是软件开发中的一种最佳实践,它总结了在特定场景下解决常见问题的...
这种设计模式对于处理I/O密集型任务特别有用,如网络请求或文件读写,因为它避免了不必要的等待时间,提升了整体性能。 Promise是Amp框架中的另一个关键特性,它是处理异步操作结果的一种方式。Promise代表了一个...
在IT行业中,适配器(Adapter)模式是一种常用的软件设计模式,它允许两个不兼容的接口之间进行通信。"ios-adapter.zip"这个文件名暗示了这是一个与iOS平台相关的适配器实现,可能是用于解决不同组件或服务之间的...
这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...
2. **Adapter模式** - **定义**: 将一个类的接口转换成客户希望的另一个接口。 - **应用场景**: 想复用一些现存的类,但接口又与复用环境要求不一致。 - **优点**: 使原本不兼容的接口得以合作。 3. **...
结构型模式则关注如何将类或对象组合成更大的结构,例如适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、桥接模式(Bridge)和组合模式(Composite)。这些模式可以帮助我们处理类与类之间的...