首页 > 代码库 > Head first设计模式(2)

Head first设计模式(2)

OO原则

1、封装变化

2、多用组合,少用继承

3、针对接口编程,不针对实现编程

4、为交互对象之间的松耦合设计而努力

 

OO模式

观察者模式(Observer pattern)——在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新

 

要点

1、观察者模式定义了对象之间一对多的关系

2、主题(也就是可观察者)用一个共同的接口来更新观察者

3、观察者和可观察者之间用松耦合方式结合(loosecoupling),可观察值不知道观察者的细节,只知道观察者实现了观察者接口

4、使用此模式时,你可从被观察者处推(push)或拉(pull)数据(然而,推的方式被认为更“正确”)

5、有多个观察者时,不可以依赖特定的通知次序

6、Java有多种观察者模式的实现,包括了通用的java.util.Observable

7、要注意java.util.Observable实现上所带来的一些问题

8、如果有必要的话,可以实现自己的Observable,这并不难,不要害怕

9、Swing大量使用观察者模式,许多GUI也是如此

10、此模式也被应用在许多地方,例如:JavaBeans、RMI

Head first设计模式(2)