设计模式(3)观察者模式
概述
在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的
依赖对象(观察者对象)都将得到通知。如果耦合过强,代码的维护性和扩展性就会变差。这样一来就引出了观察者模
式(Observer),也称发布-订阅模式(Publish/Subscribe)。所有的操作都是通过调用接口来实现,将这种依赖关系
弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。
结构图
具体模式
抽象通知者Subject类
当观察者发生变化,通过Notify接口通知所有观察者。避免直接的实现,降低耦合。
static void Main(string[] args) { ConcreteSubject a = new ConcreteSubject(); a.Attach(new ConcreteObserver (a,"b")); a.SubjectState = "状态a"; a.Notify(); Console.Read(); }