Head First 设计模式 —— 08. 外观 (Facad

2021-01-11  本文已影响0人  满赋诸机

思考题

想想看,你在 JavaAPI 中遇到过哪些外观,你还希望 Java 能够新增哪些外观? P262

外观模式

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

08. 外观模式.png
特点
区别 P270

设计原则

最少知识原则:只和你的密友谈话。即减少对象之间的交互,减少类的耦合。 P265

优点
缺点
遵循最少知识原则的方针

对于任何对象,在该对象的方法内,我们只应该调用属于以下范围的方法: 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();
    }
    // 只调用了参数
}

所思所想

上一篇下一篇

猜你喜欢

热点阅读