大家都来设计模式---适配器(Adapter)模式

来源:互联网 发布:Os软件 编辑:程序博客网 时间:2024/05/24 04:51

1. 概念

       适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作

2. 应用场景

        1) 系统需要使用现有的类,而此类的接口不符合系统的需要

        2) 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有很复杂的接口

        3) 在设计里,需要改变多个已有的子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器类,而这不太实际

3. 示例

       大家对显卡都很熟悉,显卡又称为显示适配器,是电脑的最基本组成部分之一。为什么将显卡又称为显示适配器呢?还要从显卡的作用来说。显卡将计算机系统所需要的显示信息进行转换并驱动显示器,向显示器提供行扫描信号,控制显示器的正确显示。

       上面的信息中涉及到三个硬件部分,由于显示器不能直接使用CPU提供的接口,所以由显卡在中间起到一个适配器作用,将CPU的接口数据转换成显示器所需要的数据格式

                                  

       如图所示,GraphicInterface是提供图形数据的硬件接口;GraphicAdapter是显示适配器,负责CPU和显示器数据的转换 ;GraphicScreen是显示器,调用硬件接口获得数据并显示;CPU就不用说了。

示例代码:

GraphicInterface.java

public interface GraphicInterface {abstract String request();}

GraphicAdapter.java

public class GraphicAdapter implements GraphicInterface {private CPU cpu;public GraphicAdapter(CPU cpu) {this.cpu = cpu;}@Overridepublic String request() {String cpuData = cpu.request();return process(cpuData);}private String process(String cpuData) {return "graphic screen data :" + cpuData;}}

CPU.java

public class CPU {public String request() {return "show me";}}
GraphicScreen.java
public class GraphicScreen {/** * @param args */public static void main(String[] args) {GraphicInterface graphicInterface = new GraphicAdapter(new CPU());String showData = graphicInterface.request();System.out.println(showData);}}





      

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 逛街时手机没电了怎么办 逛街手机没有电了怎么办 卖家拒收退回来怎么办 群英会奖池钱不够买超了怎么办 三星s8卡顿严重怎么办 三星s8变卡了怎么办 新开店铺没有人怎么办 电视显示没有usb设备怎么办 华为平板电脑触摸屏没反应怎么办 平板电脑液晶显示屏坏了怎么办 6p的home键失灵怎么办 读书郎屏幕坏了怎么办 苹果平板激活锁忘了怎么办 平板电脑充电插口坏了怎么办? 电视频幕花了怎么办 苹果笔记本电脑硬盘坏了怎么办 mac屏幕压坏了怎么办 新电脑连不上网怎么办 新买电脑后悔了怎么办 装显卡后玩游戏黑屏怎么办 顺丰寄主机坏了怎么办 征信账户忘记了怎么办 疑似qq和疑似应用宝怎么办 荣大3608速印机卸版故障怎么办 配的近视眼镜看不清电脑屏幕怎么办 cad命令反应很慢怎么办 淘宝美工面试让作图怎么办 笔记本玩cf闪退怎么办 台式电脑玩lol卡怎么办 配置充足玩lol卡怎么办 电脑买贵了应该怎么办 微信红包收不了钱怎么办 mac版excel卡死怎么办 锐捷网卡为空怎么办 淘宝上买东西卖家不发货怎么办 快递员没给单号怎么办 淘宝物流把货弄丢了怎么办 刚买的卡没激活怎么办 腾讯王卡40g用完怎么办 手机欠费不知道电话号码怎么办 手机欠费了不用了怎么办