首页 > 代码库 > 事件驱动与流程驱动
事件驱动与流程驱动
1:流程驱动:类似 一般就是主动轮询 在干活中还要分心 主动去找活干 这样有空余的时间也完全浪费掉了
2:事件驱动:类似 比如公司有一个oa系统 你干完活的时候只需要看下oa系统有没分配给你活 没有可以干自己的事 不用担心还有其他事没干完
3者对比
采用警觉式者主动去轮询 ( polling),行为取决于自身的观察判断,是流程驱动 的,符合常规的流程驱动式编程 ( Flow-Driven Programming)的模式。采用托付式者被动等通知 (notification),行为取决于外来的突发事件,是事件驱动 的,符合事件驱动式编程 ( Event-Driven Programming,简称 EDP)的模式。
事件驱动过程:事件源 事件管理器 事件处理器 由事件源发表事件 由事件管理器来决定分派事件给事件处理器来处理(只有在高层注册过的事件才会分派)
一般架构上都是分成 然后高层调用底层 底层不依赖高层 这样保证了代码的扩展性和重用性
但是事件驱动是由回调函数来完成 高层绑定事件 由底层来调用 这样实现局部的控制反转 由底层来决定什么时候调用回掉方法 这样高层只需要交代找我的时候需要做啥 就什么都不用管了等待底层调用就行 如果回调函数在调用的下层方法里立即执行 就实现了代码上的解耦 如果是异步调用回掉方法 就是实现了时间上的解耦
事件驱动与流程驱动
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。