《Head First设计模式》笔记整理...欢迎交流...设计模式
假设已有一个软件系统,你但愿它能和一个新的厂商的类库搭配使用,可是这个心厂商设计出来的接口,不一样于旧厂商的接口。spa
解决这个问题,咱们就能够使用适配器设计
将一个类的接口,转换成客户期待的另外一个接口。适配器让本来接口不兼容的类能够合做无间。
提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
这里注意一下外观模式与适配器模式的区别:外观模式定义的接口访问的是子系统的一群接口code
也叫墨忒耳法原则。只和你的密友谈话
方针对象
就职何对象而言,在该对象的方法内,咱们只应该调用属于如下范围内的方法:接口
//没有采用这个原则 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(); //能够地阿偶建立或实例化的对象的方法 } } }