观察者模式园子里的文章特别多,下面几篇都是不错的,写的也很容易理解。http://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.htmlhttp://www.cnblogs.com/mengdd/archive/2013/02/07/...
分类:
其他好文 时间:
2014-12-25 14:29:37
阅读次数:
154
观察者模式可以这么理解,比如说一个办公室里的员工,都有炒股的爱好。而项目经理经常出差不在办公室,所以他们除了工作就可以进行炒股,但是为了避免经理回来时看到,所以他们需要知道经理什么时候回来进办公室。于是他们可以跟前台联合,如果经理回来,那么前台只需要给其中..
分类:
Web程序 时间:
2014-12-24 18:32:05
阅读次数:
150
1,观察者模式适合解决多种对象跟踪一个对象数据变化的程序结构问题,一个称作“主题”的对象和若干个称作“观察者”的对象。在主题对象更新后会通知所有的观察者,使他们自动更新自己。
2,观察者UML类图:
3,角色解释:
-1,抽象观察者(IObserver):为所有具体观察者定义接口,在得到主题通知的时候,更新观察者自身数据。
-2,抽象主题(ISubj...
分类:
编程语言 时间:
2014-12-24 16:20:03
阅读次数:
270
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2014-12-23 17:00:13
阅读次数:
386
观察者模式,当事件发生时,调用相应观察者的方法进行“通知”。Subject中使用一个数据结构存储需要通知的观察者对象,执行Notify时,执行所有观察者的Update方法。
分类:
其他好文 时间:
2014-12-23 15:30:19
阅读次数:
209
增加遗漏的属性,指定属性的类型和可见性:
分配职责,定义执行每个职责的方法:
专家模式:
创建者模式:
低耦合:。
高内聚:
多态:
纯虚构:
中介者模式:
不要和陌生人讲话:
对消息驱动的系统,明确消息传递方式:
利用设计模式进行局部设计:
在面向对象设计的过程中,应该尽量使用成熟的设计模式来优化模型的局部设计:
使用外观模式为适配器子系统添加一个统一的接口;
通过实施观察者模式,是适配器子系统向框架层发送消息时,无需依赖于框架层的具体实现;
对于系统中存在的只有唯一的对象实例的类,使用单件模式;
...
分类:
Web程序 时间:
2014-12-23 10:40:01
阅读次数:
442
1,所谓观察者模式就是跟站岗一样,只要收到通知国有,相应的通知而已
2.应用有,windows ,QT等一些消息通知机制,其实消息通知机制也就是观察者模式
3,样例背景,某公司,有个老板A,然后公司的员工上班,有的看NBA ,有的炒股,有一天老板A 突然了,然后秘书就给那些看NBA ,股票的员工们,发了一短信老板A来了,然后他们自己进行处理
4,代码:
// 观察者模式.cpp : 定义控...
分类:
其他好文 时间:
2014-12-21 20:44:53
阅读次数:
172
一、UML图
二、概念
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
三、说明
角色:
(1)Subject类:可以翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现。他把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接...
分类:
编程语言 时间:
2014-12-21 12:44:53
阅读次数:
288
/**
* Interface Observable
* define a observable interface
* @author jichao.wang
*/
interface Observable
{
function attach(Observer $observer);
function detach(Observer $observer);
f...
分类:
Web程序 时间:
2014-12-20 16:56:30
阅读次数:
221
理解观察者模式简单的讲,一个对象作为特定任务或是另一对象的活动的观察者,并且在这个任务或活动发生时,利用事件的形式通知观察者。观察者的使用场合当一个对象的改变需要同时改变其它对象,并且它不知道具体有多少对象需要改变的时候,就应该考虑使用观察者模式。例如,用户A,B,C分别订阅某服务,当服务有更新是可...
分类:
Web程序 时间:
2014-12-20 16:45:17
阅读次数:
188