组件协作:观察者模式。
模式类型
组件协作
观察者模式
需要为某些对象建立一种“通知依赖关系”——一个对象的改变,所有依赖他的对象都得到通知。
使用背景
一个对象发生改变,所有依赖他的对象都要得到通知。
当一个对象的改变需要同时影响其他对象,并且不希望对象之间紧密耦合时,可以使用观察者模式。
举例
未使用观察者模式
1 | // FileSplitter |
使用观察者模式
FileSplitter 类没有耦合界面类。
1 | // IProgress |
另一个观察者模式的示例:
1 | // 被观察者的抽象基类 |