zoukankan      html  css  js  c++  java
  • 事件驱动与流程驱动

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

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

    3者对比

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

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

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

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

  • 相关阅读:
    DDT驱动selenium自动化测试
    python 对Excel表格的读取
    python 对Excel表格的写入
    selenium对百度进行登录注销
    selenium的八大定位元素的方式
    selenium打开Chrome浏览器并最大化
    行列式计算的归纳
    C标准库函数getchar()
    测试必备-抓包工具的使用
    uiautomator2使用教程
  • 原文地址:https://www.cnblogs.com/wzjbk/p/5929036.html
Copyright © 2011-2022 走看看