码迷,mamicode.com
首页 > 其他好文 > 详细

观察者模式(Observer)

时间:2015-12-29 16:02:45      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

      观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新。

主题和观察者定义了一对多的关系,观察者依赖于主题。当主题对象的状态发生改变时,观察者就会被通知。根据通知观察者进行相关操作。

 一、 涉及角色主题接口观察者接口具体主题具体观察者。

     

     技术分享

优点:主题是真正拥有数据的对象,观察者是主题的依赖者,在数据变化跟新时这样比多个对象控制同一份数据,可以更干净的OO设计。

缺点:并不是所有的观察者都需要这份数据,有可能只需要其中的一部分,却接收了一堆数据。(JDK中的观察这模式,提供了支持,支持以个getter方法的主动获取数据)

二、JDK中观察者模式

    JDK对观察者模式提供了支持。主题类Observable,具体主题类可以继承JDK中实现类Observable类。具体观察者可以实现JDK中的观察者接口Observer接口

    主题通知观察者:继承JDKObservable的主题接口,通知观察者对象步骤。

    (1)先调用Observable中的setChanged()方法。标记状态已经改变

    (2)再调用notifyObservers()或notifyObservers(arg)(带参数方法可以推送指定的参数)。

    

 

观察者模式(Observer)

标签:

原文地址:http://www.cnblogs.com/mxmbk/p/5083464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!