内容简介:《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(); //可以地阿偶创建或实例化的对象的方法
}
}
}
“最少知识”原则和外观模式的关系
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入浅出Node.js
朴灵 / 人民邮电出版社 / 2013-12-1 / CNY 69.00
本书从不同的视角介绍了 Node 内在的特点和结构。由首章Node 介绍为索引,涉及Node 的各个方面,主要内容包含模块机制的揭示、异步I/O 实现原理的展现、异步编程的探讨、内存控制的介绍、二进制数据Buffer 的细节、Node 中的网络编程基础、Node 中的Web 开发、进程间的消息传递、Node 测试以及通过Node 构建产品需要的注意事项。最后的附录介绍了Node 的安装、调试、编码......一起来看看 《深入浅出Node.js》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
SHA 加密
SHA 加密工具