android中观察者模式的应用场景是什么?
答案:2 悬赏:20
解决时间 2021-04-09 19:40
- 提问者网友:野性
- 2021-04-09 14:34
比如说观察一个服务端提供的一个数据的变化,如果此数据变化了以后可以事实通知我数据变化了然后我用一个notifycation通知用户,就算应用没被打开也可以通知到,这样可以用观察者模式实现吗?
最佳答案
- 二级知识专家网友:woshuo
- 2021-04-09 14:48
你说的场景是符合这个模式的:
观察者模式的应用场景:
1、 对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态可变。
2、 对象仅需要将自己的更新通知给其他对象而不需要知道其他对象的细节。
观察者模式的优点:
1、 Subject和Observer之间是松偶合的,分别可以各自独立改变。
2、 Subject在发送广播通知的时候,无须指定具体的Observer,Observer可以自己决定是否要订阅Subject的通知。
3、 遵守大部分GRASP原则和常用设计原则,高内聚、低偶合。
观察者模式的应用场景:
1、 对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态可变。
2、 对象仅需要将自己的更新通知给其他对象而不需要知道其他对象的细节。
观察者模式的优点:
1、 Subject和Observer之间是松偶合的,分别可以各自独立改变。
2、 Subject在发送广播通知的时候,无须指定具体的Observer,Observer可以自己决定是否要订阅Subject的通知。
3、 遵守大部分GRASP原则和常用设计原则,高内聚、低偶合。
全部回答
- 1楼网友:飘零作归宿
- 2021-04-09 15:07
1. subject被观察者。是一个接口或者是抽象类,定义被观察者必须实现的职责,它必须能偶动态地增加、取消观察者,管理观察者并通知观察者。
2. observer观察者。观察者接收到消息后,即进行update更新操作,对接收到的信息进行处理。
3. concretesubject具体的被观察者。定义被观察者自己的业务逻辑,同时定义对哪些事件进行通知。
4. concreteobserver具体观察者。每个观察者在接收到信息后处理的方式不同,各个观察者有自己的处理逻辑。
观察者模式有什么优点呢:
观察者和被观察者之间是抽象耦合的,不管是增加观察者还是被观察者都非常容易扩展。
根据单一职责原则,每个类的职责是单一的,那么怎么把各个单一的职责串联成真实的复杂的逻辑关系呢,观察者模式可以起到桥梁作用。
观察者模式是松耦合的典型。
在android源码中,其中一个经典的使用到观察者模式的就是android控件的事件监听模型。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯