您的位置:首页 > 移动开发 > Android开发

Java/Android的观察者模式

2016-01-15 16:54 281 查看
相对于书本中大堆大堆的冷冰冰的书面文字,我想先用一个例子表达一下生活中的“观察者模式”,然后在用书面文字给总结一下。

(一)生活中的观察者模式实例

现在网购越来越大众化,2015年Tmall双11成交额达到惊人的912.17亿人民币,那么我们就以大众化的网购为例讲述一下Java和Android中的观察者模式。
去年双11期间小王在Tmall买了一双“XXX牌运动鞋”,填好他的个人信息:收货人姓名,收货地址,收货人电话号码,并付了款。双11期间的快递压力大家都懂得,经过10天的等待“XXX牌运动鞋”由温州到达了距离小王最近的一个快递站点(姑且叫这个站点为“海淀西二旗站”),之后小王收到了一个收货短信:“王先生您好,您在Tmall订购的XXX运动鞋已经到达,现在有快递员小李正在为您派送中。请注意查收。”又过了1个小时,小王听到“砰砰砰”的敲门声,是快递员小李送的“XXX牌运动鞋”,小王签收后整个购物的流程基本结束。
在这个购物流程中就包含了一个典型的“观察这模式”。“XXX牌运动鞋”的位置在不断地变化,当“XXX牌运动鞋”位置变化到“海淀西二旗站”时,触发了两个动作,一个是发短信,另一个是“快递员小李给小王送鞋子”。如果按照观察者模式中的来分配较色的话,鞋子为被观察者,手机短信和快递员小王为观察者。
总结:
Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。从这段话里我们可以得到两个信息,如下:
1、观察者(具体执行操作的对象,有多个)
2、被观察者(顾名思义是被观察的对象,如果该对象发生某些变化则通知观察者执行对应操作)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: