观察者模式
观察者模式又称发布-订阅模式, 定义了一种一对多的依赖关系, 让多个观察者对象同时监听某一个主题对象....这个主题对象在状态发生变化时, 会通知所有观察者对象, 让他们能够自动更新自己.
abstract class Subject {
private IList observers...将一个系统分割成一系列相互协作的类有一个很不好的副作用, 那就是需要维护相关对象间的一致性, 我们不希望为了维持一致性而使各类紧密耦合, 这样会给维护, 扩展和重用都带来不便....而观察者模式的关键对象是主题Subject和观察者Observer, 一个Subject可以有任意数目的依赖他的Observer, 一旦Subject的状态发生改变, 所有的Observer都可以得到通知...当一个对象的改变需要同时改变其他对象, 而且他不知道具体有多少对象有待改变时, 应该考虑使用观察者模式.
观察者模式所做的工作其实就是在解耦合, 让耦合的双方都依赖于抽象, 而不是依赖于具体.