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

观察者模式和事件监听模式的区别

时间:2018-11-30 16:34:42      阅读:428      评论:0      收藏:0      [点我收藏+]

标签:事件对象   接口   多态   包含   统一   监听机制   监听   not   不包含   


事件监听模式更像是观察者模式的进阶。

观察者模式中,‘主题’会在特定逻辑下通知所有‘观察者’。
如果这个通知不包含任何信息,那么这种实现就是通常的观察者模式。

如果‘主题’通知‘观察者’的过程带有一些<其他信息>。那么‘主题’本身已经上升成为了‘事件源’,
而通知中带有的<其他信息>经过封装就成为了事件。

事件监听模式的优势:
在很多应用场景中,通知中附带的<其他信息>是必不可少的,
事件Event则对这些<信息>进行了封装,使它本身拥有了多态的特性。
每个事件对象就可以包含不同的信息。但各个‘观察者’提供给‘主题’的接口仍然是统一的 :
onNotify(entity, event)

总结来说 事件监听机制就是对观察者模式进行了进一步抽象,节省了代码量。

观察者模式和事件监听模式的区别

标签:事件对象   接口   多态   包含   统一   监听机制   监听   not   不包含   

原文地址:https://www.cnblogs.com/dustcode/p/10044749.html

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