事件驱动与流程驱动

1:流程驱动:类似 一般就是主动轮询 在干活中还要分心 主动去找活干  这样有空余的时间也完全浪费掉了

2:事件驱动:类似  比如公司有一个oa系统 你干完活的时候只需要看下oa系统有没分配给你活 没有可以干自己的事  不用担心还有其他事没干完

3者对比

采用警觉式者主动去轮询 ( polling),行为取决于自身的观察判断,是流程驱动 的,符合常规的流程驱动式编程 ( Flow-Driven Programming)的模式。采用托付式者被动等通知 (notification),行为取决于外来的突发事件,是事件驱动 的,符合事件驱动式编程 ( Event-Driven Programming,简称 EDP)的模式。

事件驱动过程:事件源  事件管理器 事件处理器   由事件源发表事件  由事件管理器来决定分派事件给事件处理器来处理(只有在高层注册过的事件才会分派)

一般架构上都是分成 然后高层调用底层  底层不依赖高层 这样保证了代码的扩展性和重用性

但是事件驱动是由回调函数来完成 高层绑定事件 由底层来调用  这样实现局部的控制反转 由底层来决定什么时候调用回掉方法 这样高层只需要交代找我的时候需要做啥 就什么都不用管了等待底层调用就行  如果回调函数在调用的下层方法里立即执行 就实现了代码上的解耦  如果是异步调用回掉方法 就是实现了时间上的解耦

时间: 2024-08-13 15:36:41

事件驱动与流程驱动的相关文章

卡斯柯经验谈│流程驱动项目管理的应用

主题:借信息化之力,打造项目运营管理一体化平台 嘉宾:孙春荣(卡斯柯IT总监) 基于K2 BPM的流程驱动项目管理平台,能提升卡斯柯以项目管理为核心的管理能力. 主要分成以下四个部分: 市场业务管理 市场招投标及合同评审 项目运营管理 财务报销管理 围绕项目运营管理的全生命周期,建立从市场投标报价到项目执行.分析评估的成本一致性追踪追溯体系. 基于K2的财务报销管理平台:共12支流程,170多支子流程,基本涵盖公司所有费用报销.现在K2助力卡斯柯实现了这个难度最大的财务报销管理平台. ※该报销系

从流程驱动到数据驱动,打造你的高效研发团队

经过一年半的探索.开发与验证,我们推出了一款研发效能分析与改进的平台:X-Developer,并提供了免费的社区版帮助企业快速起步.注册地址: https://x-developer.cn X-Developer解决什么问题? 简单地说,就是能够帮助你短平快地实现对研发团队的有效管理.为什么说是"有效"?因为我们看到,许多研发管理受困于: 难于找到契合企业实际情况的管理框架,借鉴的实践不少,但行业和企业都有自身特点,哪些是合适的,如何改良落实,企业摸索成本高: 优秀的技术管理人才缺乏,

程序员如何高效提升保持学习动力?

相信对于很多程序员来说,最初接触编程的初衷还是来源于兴趣.爱因斯坦有句名言:"兴趣是最好的老师."古人亦云:"知之者不如好之者,好知者不如乐之者."所以兴趣真的很重要,兴趣是你成为程序员的一个内在驱动力,这种力量很神奇,可化不可能成可能,可化腐朽为神奇.不断的.创造性的给自己一些个好奇心,欲望无限,你的动力就无限.无论是不是计算机专业的科班出身,想成为程序员一定要有一份兴趣,一份对未来日新月异技术的兴趣,一份主动探究知识奥秘的兴趣.这对激发你的学习兴趣对提提升你程序

事件驱动

事件驱动——有事我叫你,没事别烦我 劳心者治人 , 劳力者治于人                                            ——<孟子·滕文公上>   关键词:编程范式 , 事件驱动式 , 回调函数 ,framework,IoC,DIP, 观察者模式 摘要:事件驱动式编程简谈 ? 提问 什么是事件?有哪些不同类型的事件? 什么是回调函数?什么是异步同调?它们有什么用处? 控制反转的目的是什么?它是如何实现的?在框架设计中起什么作用? 控制反转.依赖反转原则和依赖注射

Linux嵌入式驱动学习之路(十六)输入子系统

以前写的一些输入设备的驱动都是采用字符设备处理的.问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的.不同类别的输入设备进行统一的驱动,所以才出现了输入子系统. 输入子系统引入的好处: (1)统一了物理形态各异的相似的输入设备的处理功能.例如,各种鼠标,不论PS/2.USB.还是蓝牙,都被同样处理. (2)提供了用于分发输入报告给用户应用程序的简单的事件(event)接口.你的驱动不必创建.管理/dev节点以及相关的访问方法.因此它能够

Linux驱动开发、22-USB子系统

USB子系统 USB(universal serial bus)总线:通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯. USB1.0:1.5MB/S USB1.1(full speed):12MB/S USB2.0(high speed):480MB/S USB3.0(supper sped):4800MB/S USB硬件结构(4线):电源(5V,500mA),地线,D+,D- 工作原理: USB端口的D+.D-数据线上有15K左右的"高值"下拉电阻,从而使USB

BPM流程可视化开发及配置,研发目标(一)

先不说BPM先说说实际生产过程中的实际情况,在实际工作当中,我们在申请某个项目的时候,往往需要多个部门的审批,只有审批通过之后才能立项.为什么要审批呢?因为企业在运站的时候,他是一个整体,它内部的各个部门各司其职,所以,一个项目往往会设计多个部门,如采购,生产,销售等.传统的审批流是什么呢?以前我们都是拿着一张纸,挨个部门找相关负责人盖章确认,全走下来可能要好长时间,有时因为某个领导不在,我们可能还需要等待,这就对项目的立项时间造成的影响,同时因为流程审批人员固定,无法快速响应,严重浪费公司资源

Java资源大全中文版(Awesome最新版)

目录 业务流程管理套件 字节码操作 集群管理 代码分析 编译器生成工具 构建工具 外部配置工具 约束满足问题求解程序 持续集成 CSV解析 数据库 数据结构 时间日期工具库 依赖注入 开发流程增强工具 分布式应用 分布式数据库 发布 文档处理工具 函数式编程 游戏开发 GUI 高性能计算 IDE 图像处理 JSON JVM与JDK 基于JVM的语言 日志 机器学习 消息传递 杂项 应用监控工具 原生开发库 自然语言处理 网络 ORM PDF 性能分析 响应式开发库 REST框架 科学计算与分析

初识EPC

一.EPC定义 EPC=Event-driven Process Chain(事件驱动过程链) EPC建模方法最初由Keller, N¨uttgens和Scheer博士在1992年发表的EreignisgesteuerteProzesskette(EPK)基础上形成的一种以状态变化驱动进行业务过程(流程)分析的建模方法,EPC的目标是为分层表达企业的抽象业务提供一组易于最终用户识别.简洁的符号和语法,其最简洁的语法可由三部分组成:功能(Functions).事件(Events)和逻辑连接符号.