外观模式
提供了一个统一的接口,用来访问子系统的一群接口。外观定义了一个高层接口,让子系统更容易使用。
类图:
设计原则:
7、最少知识原则:只和你的密友谈话
在设计中,不要让太多的类耦合在一起
例如:
public float getTemperature(){
return station.getThermometer().getTemperature();//依赖了三个类
}
应该采用以下方案:
public float getTemperature(){
return station.getTemperature();//依赖了两个类,需要向station中添加getTemperature()方法
}
装饰者、适配器、外观模式对比:
1、装饰者:将一个对象包装起来以增加新的行为和责任,但不改变接口
2、适配器:将一个对象包装起来以改变起接口
3、外观:将一群对象“包装”起来以简化其接口,将客户从一个复杂的子系统中解耦。
4、适配器、外观:都可以包装一个或多个类
(转载请注明出处 ^.^)