设计模式:观察者模式

来源:互联网 发布:westvleteren 12 淘宝 编辑:程序博客网 时间:2024/04/30 10:53

目前为止,观察者是我正式意义上学习过,并且明确用过的一种设计模式。不过,现在的我也还没达到能够谈论不同的程序所对应设计模式带来的巨大好处的境界。所以,本文仅限于归纳总结,并可能提出自己的理解,如有错误的地方,欢迎指出并改正。

模式简图:

1,观察者完成被观察者们(对象)的注册与注销;

2,观察者以局外人的身份,仅相当于一个桥梁的连接作用。比如上图,负责接收作为被观察者的对象一的变化激励,通知对变化激励有需求的被观察者对象二执行动作;

3,作为被观察者的对象一与对象二互不知情,分工明确,一个引起变化激励,一个负责处理激励;

 

什么时候使用观察者模式?

1,对象一的变化需要同时引起对象二的改变,并且对象一不知道对象二的具体数量或任何情况;

2,各自的变化不会相互影响,完全不耦合;

 

实例:

        当初运用这种设计模式的情况,简要说说,属于网络编程的项目。

        不同设备之间的Socket通信。整个过程如下:

       

原创粉丝点击