• 事件驱动的编程模型(学习)


    事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些活动,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。

    asp.net的类HttpApplication中有很多事件,复制几个如下:

            //当 ASP.NET 获取与当前请求关联的当前状态(如会话状态)时发生。
            public event EventHandler AcquireRequestState;
    //当安全模块已建立用户标识时发生。 public event EventHandler AuthenticateRequest;
    //在 ASP.NET 响应请求时作为 HTTP 执行管线链中的第一个事件发生。 public event EventHandler BeginRequest;
    //在 ASP.NET 响应请求时作为 HTTP 执行管线链中的最后一个事件发生。 public event EventHandler EndRequest;
    //当引发未经处理的异常时发生。 public event EventHandler Error;

    概念

    事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用 发布-订阅(publisher-subscriber) 模型。

    发布器(publisher) 是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。

    订阅器(subscriber) 是一个接受事件并提供事件处理程序的对象。在发布器(publisher)类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。

    阅读文章:C# 事件(Event)

    ===============

    201810151847更新

    阅读了多篇文章来理解事件,虽然还不能用自己的语言描述清楚,但是自己对事件的理解正在慢慢形成,需要继续学习理解。

     ================

    20191228更新

    事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。

    C# 中使用事件机制实现线程间的通信。

    个人理解:

    事件是一种消息通知机制;

    事件可以解耦

    事件机制,使消息发出方和消息处理方之间没有关系,消息发出方只负责发出消息,发出后有没有人(程序)处理消息,怎么处理都和消息发出方无关;

    消息处理方也可以不管,消息是由谁发出的,统一的处理消息,当然如果需求也是可以区分事件源的。

    发现不记录,之前的感想会忘记啊。哭唧唧………………

  • 相关阅读:
    ORACLE 查看进程数,已执行任务数, 剩余任务数,删除指定任务
    ORACLE 收集统计整个用户数据
    解决Hystrix dashboard Turbine 一直 Loading…… 及其他坑
    利用 Maven 构造 Spring Cloud 微服务架构 模块使用 spring Boot构建
    AES加解密
    JAVA POI XSSFWorkbook导出扩展名为xlsx的Excel,附带weblogic 项目导出Excel文件错误的解决方案
    JAVA 文件的上传下载
    shell启停服务脚本模板
    JAVA 设计模式之 原型模式详解
    JAVA 设计模式之 工厂模式详解
  • 原文地址:https://www.cnblogs.com/Tpf386/p/7464804.html
Copyright © 2020-2023  润新知