1.核心思路是针对接口编程,不是针对实现编程(实现编程代码臃肿且弹性差) 2.定义一个通用接口,被通用类实现,观察者只需要继承通用类即可 3.定义第二个通用接口,用于更新方法 4.定义通用类实现通用接口以及第二个通用接口,完成其中的细节 5.所有观察者继承通用类,观察者就已经被通知了