-
模式的秘密---观察者模式——利用Java提供的观察者实现 Java 实现 VS 自己实现的对比四点: (1)不需要再定义观察者和目标接口(JDK已经定义)。 (2)具体的目标实现里面不需要再维护观察者的注册信息,Java中的Observable类里面已经实现。 (3)触发通知的方式有一点变化,要先调用setChanged方法,这个是Java为了帮助实现更精确的触发控制而提供的功能。 (4)具体观察者的实现里面,update方法其实能同时支持推模型和拉模型,这个Java在定义的时候,已经考虑。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——实现的两种方式:推模型和拉模型 观察者模式两种模式: 1.推模型:目标对象主动向观察者推送目标的详细信息 ; 推送的信息通常是目标信息的全部或部分信息。 2.拉模型:目标对象在通知观察者的时候,只传递少量信息 ;如果观察者需要更具体的信息,由观察者主动到目标对象中获取,相当于是观察者从目标对象中拉数据;一般这种模型的实现中,会把目标对象自身通过update方法传递给观察者。 两种模型的比较: 推模型是假定目标对象知道观察着需要的数据。 拉模型是目标对象不知道观察着具体需要什么数据,因此把自身传给观察者,由观察者来取值。 推模型会使观察者对象难于复用。 拉模型下,update方法的参数是目标对象本身,基本上可以适应于各种情况的需要。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——观察者模式调用时序图 II(运行阶段) 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——观察者模式调用时序图 I(准备阶段) 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——认识观察者模式 (1)目标与观察者之间的关系:一对一、一对多、多对一等。 (2)单向依赖:观察者依赖目标,而不是目标依赖观察者,观察者是被动的,目标是主动的。 (3)命名建议: 1、目标接口的定义,建议在名称后面跟Subject; 2、观察者接口的定义,建议在名称后面跟Observer; 3、观察者接口的更新方法,建议名称为update,参数的个数及类型不受限制。 (4)触发通知的时机:目标对象的状态发生维护之后触发。(比如:先赋值内容再通知是对的,而反过来就会出现问题) (5)观察者模式调用时序:见观察者模式调用时序图I、II。 (6)通知的顺序:不确定,平行的,没有相互依赖关系。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——观察者模式结构 II Ps:下面两个分别是它们上面两个对应的接口实现类。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——观察者模式结构 I 观察者模式的结构:Subject(被观察者或者说是目标类):要有添加观察者,删除观察者,和提醒观察者(当被观察者的状态发生改变的时候调用这个方法)的方法,Observe(观察者):要有更新方法(当观察者状态发生改变调用提醒方法后观察者通过更新方法来做出不同响应(动作))。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
模式的秘密---观察者模式——定义 观察者模式的定义,有多个对象在关注着一个对象,如果这个对象的状态发生了改变,其它依赖(关注)它的对象就会收到通知,然后在接收到通知以后各个对象做出相应的动作。这里涉及到两个概念(观察者和被观察者(目标类)),被观察者只能有一个,而观察这个观察者的对象可以用多个。【一对多】 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
什么情况下选用观察者模式查看全部
-
观察者模式的本质查看全部
-
啦模型查看全部
-
推模型会使观察者对象难以复用查看全部
-
推模型和拉模型的比较查看全部
-
拉模型查看全部
-
推模型查看全部
举报
0/150
提交
取消