想想看,你在 JavaAPI 中遇到过哪些外观,你还希望 Java 能够新增哪些外观? P262
println
、log 日志接口、JDBC 接口提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 P264
P260
P260
P260
P270
最少知识原则:只和你的密友谈话。即减少对象之间的交互,减少类的耦合。 P265
P267
P267
P267
P267
对于任何对象,在该对象的方法内,我们只应该调用属于以下范围的方法: P266
由前三条可知:不要调用其他方法返回结果的方法
这些类有没有违反最少知识原则?请说明原因。 P268
public class House {
WeatherStation station;
// 其他的方法和构造器
public float getTemp() {
return station.getThermometer().getTemperature();
}
// 违反了最少知识原则
// 调用了方法返回结果的方法
}
public class Houst {
WeatherStation station;
// 其他的方法和构造器
public float getTemp() {
Thermometer thermometer = station.getThermometer();
return getTempHelper(thermometer);
}
// 没有违反最少知识原则
// 只调用了对象的组件以及对象本身的方法
public float getTempHelper(Thermometer thermometer) {
return thermometer.getTemperature();
}
// 只调用了参数
}
println
,内部就包含了并发控制、异常捕获、调用BufferedWriter
对象进行输出控制等。本文首发于公众号:满赋诸机(点击查看原文) 开源在 GitHub :reading-notes/head-first-design-patterns
Head First 设计模式 —— 08. 外观 (Facade) 模式
原文:https://www.cnblogs.com/manfuzhuji/p/14264475.html