JAVA系列-设计模式-适配器模式
来源:互联网 发布:购物软件大全 编辑:程序博客网 时间:2024/06/04 22:59
适配器举例
相信很多人都知道什么是显卡,也有很多人知道显卡的本名——图形适配器。恩,是的,正好这回说说Apater模式,就拿显卡来例子来分析一下Adapter模式。
我们知道显示器(Client)是用来显示图形的,它是不能显示数据,它只能够接受来自图形发送设备Target的信号。可是我们手头上只有CPU(Adaptee)这个产生各种描述图形的数据的数据发送器。我们需要将这些数据让显示器进行显示,可是这两个部件却是不兼容的。于是我们需要一个中间设备,它能够将CPU“适配”于显示器,这便是我们的显卡——图形适配器(Adapter)。
该段话援引:http://www.cnblogs.com/java-my-life/archive/2012/04/13/2442795.html
看下代码大家应该就能清楚了
package Adapter;/** * 定义一个已经存在的接口,这个接口需要适配。 * @author Administrator * */public class Adaptee {public void adapteeMethod() { System.out.println("Adaptee method!"); }}
package Adapter;public interface Target {void adapteeMethod(); void adapterMethod();}
package Adapter;/** * 对Adaptee的接口与Target接口进行适配 * @author Administrator * */public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; }public void adapteeMethod() {adaptee.adapteeMethod();}public void adapterMethod() {System.out.println("Adapter method!"); }}
package Adapter;/** * 解释:将一个类的接口转换成客户希望的另外一个接口。 * Adapter模式使得原本由于接口的兼容而不能一起工作的那些类可以一起工作。 适用性 1.你想使用一个已经存在的类,而它的接口不符合你的需求。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那接口可能不一定兼容的类)协同工作。 3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。 * @author Administrator * */public class Test { public static void main(String[] args) { Target target = new Adapter(new Adaptee()); target.adapteeMethod(); target.adapterMethod(); }}
- JAVA系列-设计模式-适配器模式
- java设计模式系列--适配器模式
- 适配器模式 - 设计模式系列
- 设计模式系列--适配器模式
- 设计模式系列:适配器模式
- JAVA设计模式系列之Adapter(适配器)
- 常用Java设计模式系列(4)- 适配器模式
- Java/Android 设计模式系列(6)--适配器模式
- Java 适配器设计模式
- 适配器(JAVA设计模式)
- java 适配器设计模式
- java设计模式 适配器
- Java适配器设计模式
- java适配器设计模式
- java设计模式-适配器
- java适配器设计模式
- java设计模式----适配器模式
- Java设计模式----适配器模式
- 算法导论 第7章 快速排序 学习总结
- 学习C#记录之第一天
- Latex初学者入门(三)-- 用BibTeX生成参考文献
- UVA 11181 Probability|Given dfs模拟组合情况(周赛F题)
- H.264学习(一)——帧和场的概念
- JAVA系列-设计模式-适配器模式
- 学习js
- python自然语言处理学习笔记第三章2
- H.264视频RTP负载格式/NALU的类型
- mysql errno:150
- android 屏幕 分辨率
- Missing Hive Builtins Jar: /data/hive-0.11.0/lib/hive-builtins-*.jar
- atoi,itoa,sprintf等函数的实现
- ubuntu 卸载 Cario-Dock