适配器与外观模式

栏目: 后端 · 发布时间: 4年前

内容简介:《Head First设计模式》笔记整理...欢迎交流...假设已有一个软件系统,你希望它能和一个新的厂商的类库搭配使用,但是这个心厂商设计出来的接口,不同于旧厂商的接口。解决这个问题,我们就可以使用适配器

《Head First设计模式》笔记整理...欢迎交流...

使用场景

假设已有一个软件系统,你希望它能和一个新的厂商的类库搭配使用,但是这个心厂商设计出来的接口,不同于旧厂商的接口。

解决这个问题,我们就可以使用适配器

适配器与外观模式

定义

将一个类的接口,转换成客户期待的另一个接口。适配器让原本接口不兼容的类可以合作无间。

类图

适配器与外观模式

外观模式定义

提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

这里注意一下外观模式与适配器模式的区别:外观模式定义的接口访问的是子系统的 一群 接口

适配器与外观模式

“最少知识”原则

也叫墨忒耳法原则。只和你的密友谈话

方针

就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围内的方法:

  • 该对象本身
  • 被当做方法参数而传递进来的对象
  • 此方法所创建或实例化的任何对象
  • 对象的任何组件
//没有采用这个原则
public float getTemp() {
    Thermometer thermometer = station.getTermometer(); //这里,我们从气象站取得温度计对象,再从温度计对象取得温度
    return thermometer.getTemperature();
}
//采用这个原则
public float getTemo() {
    return station.getTemperature();
}

以一个汽车类示例:

public class Car {
    Engine engine; //这是类的一个组件,我们可以调用它的方法
    //其它实例变量
    
    public Car() {}
    
    public void start(Key key) {
        Doors doors = new Doors(); //这里创建了一个新对象,它的方法可以被调用
        
        boolean authorized = key.turns(); //被当做参数传递进来的对子那个,其方法可以被调用
        
        if(authorized) {
            engine.start(); //可以调用对象组件的方法
            updateDashboardDisplay(); //可以调用对象内的本地方法
            doors.lock(); //可以地阿偶创建或实例化的对象的方法
        }
    }
}

“最少知识”原则和外观模式的关系

适配器与外观模式


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业时代

创业时代

付遥 / 中信出版社 / 2015-7 / 39.8元

香港人郭鑫年酷爱赛车,在驾车穿越隧道的时候,因为收发短信发生意外,他从被撞得破烂的车里爬出来时,兴奋地高喊:我有一个伟大的想法,手机上的对讲机,将要改变世界!他随即辞职来到北京,开始艰难的创业历程。 移动技术迅猛发展,正在颠覆互联网行业,郭鑫年误打误撞,对讲机用户数量急增,竟成为移动互联网的明星,他也因此置身于风口浪尖。三大互联网巨头为了抢夺手机入口大打出手,无不希望争夺这张通往未来移动市场......一起来看看 《创业时代》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码