Observer模式
来源:互联网 发布:遗传算法与svm python 编辑:程序博客网 时间:2024/05/02 03:01
Observer模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
何时使用
当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。
当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。
当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之, 你不希望这些对象是紧密耦合的。
有何好处
以单独复用目标对象而无需同时复用其观察者, 反之亦然。
它也使你可以在不改动目标和其他的观察者的前提下增加观察者。
目标和观察者间的抽象耦合。
支持广播通信
潜在缺点
意外的更新 因为一个观察者并不知道其它观察者的存在, 它可能对改变目标的最终代价一无所知。
使用实例
MVC结构
MFC中的Document-View结构
Java中提供了Observer和Observerable接口
- Observer模式
- Observer 模式
- observer模式
- Observer模式
- Observer模式
- Observer模式
- Observer模式
- observer模式
- Observer模式
- Observer模式
- observer模式
- OBSERVER 模式
- Observer模式
- Observer模式
- Observer模式
- observer模式
- observer模式
- Observer模式
- C++ Boost库简介
- vagaa为何物?
- 好老的歌,还是觉得有点感动的歌词~~~~
- Lab 1 question
- 公司很多强人都是 深藏不漏阿!
- Observer模式
- ASP学习笔记(一)
- Lab 1 Solution C source from internet
- AIX系统级命令简介
- 测测您的能力:微软程序员测试题
- Java Applet Tutorial
- 解释传统与敏捷方法最贴切的故事:大象与猴子
- C#中应用PSFTP实现SFTP上传
- 生成中文的验证码(ASP.NET C#)