在咱们的一个实现中,下列哪一种说法正确?(多选) P42
java
public class WeatherDate { // 实例变量声明 public void measurementsChanged() { float temp = getTemperature(); float humidity = getHumidity(); float pressure = getPressure(); currentConditionsDisplay.update(temp, humidity, pressure); statisticsDisplay.update(temp, humidity, pressure); forecastDisplay.update(temp, humidity, pressure); } // 其余 WeatherData 方法 }
[x] A. 咱们是针对具体实现编程,而非针对接口git
[x] B. 对于每一个新的布告板,咱们都得修改代码github
[x] C. 咱们没法在运行时动态地增长(或删除)布告板编程
[x] D. 布告板没有实现一个共同的接口设计模式
TypeScript
和 Golang
等语言,这些语言是存在鸭子类型,不须要显示继承类或者接口(但本书全部例子都是 Java
,因此不认为是鸭子类型)[x] E. 咱们还没有封装改变的部分ide
[x] F. 咱们侵犯了 WeatherData 类的封装idea
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的全部依赖者都会受到通知并自动更新 P51
spa
设计原则:为了交互对象之间的松耦合设计而努力 P53
设计
本文首发于公众号:满赋诸机( 点击查看原文) 开源在 GitHub : reading-notes/head-first-design-patterns
![]()