在观察者模式中有2个要素:一个是被观察对象,另一个是观察者。但被观察对象的状态发生改变会通知观察者。 举例:把订阅报纸的人看作是观察者,把报纸看作被观察对象。每当有新的新闻就要通知订阅报纸的人。本篇分别用实现接口和使用委托事件的方式来实现。 □ 通过实现接口实现 观察者接口,把接收到的新闻显示出来。...
                            
                            
                                分类:
其他好文   时间:
2014-09-11 16:55:42   
                                阅读次数:
174
                             
                         
                    
                        
                            
                            
                                KVO应该是key-value-observer,意思就是键值观察。作用就是用一个对象A监测对象B,如果对象B属性发生变化,那么就会发送一个消息给对象A,这样……呃,就这样了。至于拿到通知后怎么处理,那是后话。...
                            
                            
                                分类:
其他好文   时间:
2014-09-10 15:59:50   
                                阅读次数:
222
                             
                         
                    
                        
                            
                            
                                在 My.Ioc 中,要想在服务注销/注册时获得通知,可以通过订阅 ObjectBuilderRegistered 和 ObjectBuilderUnregistering 这两个事件来实现。但是,使用这两个事件也有一些不足。首先,它们只能针对当前注册/注销的服务发出通知,而对于依赖当前服务的上层服...
                            
                            
                                分类:
其他好文   时间:
2014-09-10 12:13:50   
                                阅读次数:
218
                             
                         
                    
                        
                            
                            
                                观察者模式具有以下组件(1) Subject 目标: 维护一系列的观察者,方便添加或者删除观察者(2) Observer 观察者 : 为那些在目标状态发生改变时需获取得通知的对象提供一个接口(3) ConcreteSubject 具体目标 : 状态发生改变时,向observer发出通知,储存Conc...
                            
                            
                                分类:
其他好文   时间:
2014-09-09 22:47:39   
                                阅读次数:
246
                             
                         
                    
                        
                            
                            
                                假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户。 把通知这个动作抽象成一个接口。 public interface IService { void Notif(); }客户如果想获得通知,就需要实现以上的接口。这里的客户被看作是观察者。 public class CustomerA :...
                            
                            
                                分类:
其他好文   时间:
2014-09-07 07:37:04   
                                阅读次数:
202
                             
                         
                    
                        
                            
                            
                                观察者模式,一句话概括,就是定义并维护对象之间的一对多关系。“定义”是指建立“一”与“多”之间的依赖关系;“维护”是指我们可以动态地解除依赖以及建立新的依赖。
                            
                            
                                分类:
其他好文   时间:
2014-09-05 19:44:01   
                                阅读次数:
191
                             
                         
                    
                        
                            
                            
                                观察者模式(Observer Pattern)在项目中经常会被使用到,也被叫做发布订阅模式,也就是说  观察者 =  发布者 + 订阅者
GoF的《设计模式》中对观察者是这样描述的:
Define a one-to-many dependency between objects so that when one object changes state, all its depende...
                            
                            
                                分类:
其他好文   时间:
2014-09-05 01:00:30   
                                阅读次数:
373
                             
                         
                    
                        
                            
                            
                                * 简单来说,观察者模式=发布者+订阅者。下面是一个有关猎头的典型的例子。在下面这张图当中有两个角色:
 * 猎头和寻找工作的人。找工作的人向猎头订阅,告知自己希望得到一份工作,当有新的工作机会的时候,
 * 猎头就会把这个信息通知给曾经向他订阅过的人。
猎头接口:
package com.pattern.observer;
/**
 * @author Qixuan.Chen
 * 创...
                            
                            
                                分类:
编程语言   时间:
2014-09-02 15:58:54   
                                阅读次数:
230
                             
                         
                    
                        
                            
                            
                                形象例子: 想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦。观察者模式: 观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对.....
                            
                            
                                分类:
其他好文   时间:
2014-09-01 21:06:13   
                                阅读次数:
300
                             
                         
                    
                        
                            
                            
                                观察者模式:通过字面意思,可以知道观察,监视着某个变量,及时的知道变量是否已变。观察者模式就是对类Observable 和 接口 Observer的使用。直接上代码:设置一个Person类,继承Observable,作为被观察者。 publicclassPersonextendsObservable...
                            
                            
                                分类:
其他好文   时间:
2014-08-29 18:05:28   
                                阅读次数:
152