`
shuofenglxy
  • 浏览: 194400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

菜鸟硕枫设计模式系列之7 适配器模式

阅读更多
适配器模式,正如适配器这个名字一样,起一个转换的作用。目的是通过接口转化,使得新系统和老系统可以正常交互。适配器模式是一种结构型模式。

适配器模式类图:
                

具体实现demo:
新系统:
package adapterPattern;

public interface NewSystem {

	public void doAnotherthing(String input);
}


实现:
package adapterPattern;

public class NewSystemImpl implements NewSystem{

	
	public void doAnotherthing(String input) {
		System.out.println("接口参数转换后,我能使用了哈");
		
	}

}


老系统:
package adapterPattern;

public interface OldSystem {

	public int doSomething();
}


实现:
package adapterPattern;

public class OldSystemImpl implements OldSystem{

	public int doSomething() {
		System.out.println("我只能返回整型值");
		return 0;
	}

}


适配器类:
package adapterPattern;

public class Adapter {

	public String convertMethod(int input){
		return Integer.toString(input);
	}
}


测试类:
package adapterPattern;

public class AdapterPatternTest{

	public static void main(String[] args){

		OldSystemImpl oldSystem = new OldSystemImpl();

		NewSystemImpl newSystemImpl = new NewSystemImpl();

		Adapter adapter = new Adapter();

		newSystemImpl.doAnotherthing(adapter.convertMethod(oldSystem
				.doSomething()));
	}
}


说明:老系统参数为int ,新系统接收输入为string,接口不匹配,通过adapter的转化之后,使得新老系统可以交互了。另外,jdk 1.6中  Runable task 转成 Callable task就是一个典型的适配器模式,其中  RunnableAdapter这个类就是适配器。
  • 大小: 16.7 KB
分享到:
评论

相关推荐

    Java设计模式菜鸟系列教程

    Java设计模式菜鸟系列教程 本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、...

    设计模式学习经典篇之菜鸟篇

    本资源“设计模式学习经典篇之菜鸟篇”旨在为初学者提供一个全面而通俗易懂的设计模式学习路径。 设计模式的核心在于重用已验证的解决方案,以提高代码的可读性、可维护性和可扩展性。根据GOF(Gamma, Helm, ...

    23种设计模式知识要点.pdf_设计模式_

    设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可重用的解决方案。这些模式都是经验丰富的软件开发者在长期实践中总结出来的,它们可以帮助我们写出更加灵活、可维护和可扩展...

    深入浅出设计模式(.PDF)

    结构型设计模式如适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式和代理模式,这些模式主要处理对象的组合和结构,提高代码的复用性和模块化。行为型设计模式如观察者模式、命令模式、解释器模式、...

    C#23种设计模式【完整】(亲测可用)

    在软件开发过程中,设计模式是提升代码可维护性、可扩展性和可重用性的关键工具。本资源包含的"C#23种设计模式【完整】(亲测可用)"涵盖了软件设计中的经典模式,这些模式都是经过实践检验的有效解决方案,旨在帮助...

    NET 设计模式

    代码可以运行,下载这个后,建议买->《大话设计模式这本书》。来辅助学习。有很多关于C#语言有关的设计模式分别由: 1、模板方法模式 2、外观模式 3、建造者模式 4、观察者模式 5、抽象工厂模式 6、状态模式 7、...

    23种软件设计模式简述

    在软件工程领域,设计模式是解决特定问题的模板或指南,它们被广泛应用于软件开发过程中,以提高代码的可读性、可维护性和重用性。以下是对23种常见软件设计模式的简述,这些模式可以大致分为三类:创建型模式、结构...

    Java之美[从菜鸟到高手演变]之设计模式

    总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式...

    百度地图毕业设计源码-Design-Patterns:设计模式

    本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师! 企业级项目实战(带源码)地址: 23种模式java实现...

    设计模式整理

    设计模式是软件工程中一套被广泛认可的最佳实践和解决方案模板。它们为程序员提供了一种方法,以应对软件设计和架构中反复出现的问题。设计模式按其意图和应用领域可以分为三大类:创建型模式、结构型模式和行为型...

    吉林大学软件学院卓班设计模式第三次作业

    使用哪种设计模式改进较好?如何改进? 4) 某书店需要开发一套图书购销存软件。在设计图书类时发现:图书有单行本和成套的,又细分成教辅材料、科学知识、文学著作等。设计时,希望能够以一致的方式访问各种图书,...

    java常用数据结构及算法集锦

    适配器模式 装饰模式 组合模式 享元模式 桥接模式 行为模式 观察者模式 模板方法模式 策略模式 命令模式 调停者模式 备忘录模式 解释器模式 迭代器模式 状态模式 责任链模式 访问者模式 结构与算法 基础概念 稀疏...

    资料库,关于面向对象以及4大特性,8大原则,24设计模式

    24种设计模式是解决软件开发中常见问题的通用解决方案,分为创建型、结构型和行为型三大类: 1. 创建型模式:单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)、...

    TrabalhoPattern27-11

    【标题】"TrabalhoPattern27-11" 暗示了这是一个关于软件设计模式的工作项目,可能是在特定日期(27-11)完成的。在编程领域,设计模式是解决常见问题的标准化解决方案,它们为软件开发提供了一种可重用的结构。在这...

    毕业设计:基于Python语言在MVC模式下利用Flask框架开发的博客系统.zip

    本毕业设计项目是采用Python编程语言,结合MVC(Model-View-Controller)设计模式,利用轻量级Web应用框架Flask实现的一款博客系统。Python作为一门高级编程语言,因其简洁易读的语法和强大的库支持,被广泛应用于...

    深圳C#面试题目集合

    理解常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,并能在实际编程中灵活运用。 六、面试技巧 1. 自我介绍:清晰地介绍自己的项目经验和技术能力,突出个人优势。 2. 问题解答策略:分析问题...

    本科毕业设计《基于Android的新闻推荐客户端设计与实现》新闻Python爬虫相关代码.zip

    这涉及到网络请求处理(如使用Retrofit或Volley库)、数据绑定(如使用MVVM架构和LiveData)以及适配器设计模式显示推荐新闻列表。同时,优化用户体验,如加载动画和错误处理也是客户端开发的重要部分。 六、项目...

    jboss3 快速入门

    农场模式是一种特殊的集群部署方式,适用于特定的应用场景。 ##### 5.5 故障排除 针对集群部署过程中可能出现的问题提供了解决方案。 #### 六、编写和部署企业JavaBean ##### 6.1 企业JavaBean的编写 这一部分详细...

    FMD/辉芒微 FT61E14x单片机

    FT61E14x系列是由辉芒微电子(FMD)推出的高性能、低功耗的8位单片机,广泛应用于各种嵌入式系统设计。这个系列的产品旨在为开发者提供强大而经济的解决方案,特别是在对成本敏感和性能要求较高的应用领域。下面将...

Global site tag (gtag.js) - Google Analytics