• 20140912-事件与委托


    1、委托

    1)各书籍中,大家都在说委托,但大家口中的委托是不同的。大家阐述的角度不同。

    理解委托3个角度:

    ①委托类型:委托是形式上对方法的抽象,方法类。

    ②委托变量:持有零个或多个方法的对象。委托变量与典型的对象不同,可以执行委托,这时委托会执行它所"持有"的方法。

    ③委托机制:类型安全的回调函数实现的一种机制。

    2)技术落脚点

    ①从机制的角度理解

    ②从对象的角度使用委托(变量)。

    A赋值

    B把方法放到(或说封装到)委托变量,当做参数传递

    C委托字段+对应的属性

    3)杂乱思考

    [引言,我该如何定义机制和模型这两个概念]

    1)一切皆是对象。方法也可以是对象。

    2)广义:委托机制。声明委托类型+声明委托类型变量+创建对象(实例,以第一个方法初始化实例),并赋值给委托变量+调用委托对象

    狭义:角度①:委托对象。

             角度②:可以认为委托是持有一个或多个方法的对象。

             角度③:public delegate string Mydelegate(int number);就针对这一行理解,是对方法的抽象,方法类;

    ---------------------------------------------------------------------------------------------------------------------------------

    2、事件

    1)如果说委托机制,那么事件当称为事件模型

    ①立足于下图一条语句理解,事件即委托变量。

    ②事件是建立于委托机制之上的,对委托的封装。且,委托是引用类型,事件是类成员。因为是类成员了,是封装后的了,更安全了。

    ③事件是当某些事发生时,运行另一块中指定方法的机制。

    ④有发布者/订阅者模式,可以成为事件模型。

    2)技术落脚点

    没必要记忆事件模型,会委托即会事件了,区别只在一个event关键字上。

  • 相关阅读:
    DOPE:基于蒸馏网络的全身三维姿态估计
    3D人体姿态重构
    Nginx+gunicorn+flask+docker算法部署
    MediaPipe中Box Tracking技术原理
    C++线程池
    MediaPipe加速流程和原理
    记一次illegal instruction问题定位
    如何阅读大工程代码(clickhouse版)
    zookeeper client原理总结
    go package依赖图自动生成
  • 原文地址:https://www.cnblogs.com/CharlesZHENG/p/3968141.html
Copyright © 2020-2023  润新知