委托事件

# 什么是委托

  • 委托是方法的代理,委托的是方法,当调用委托时就是调用了这个方法。
  • 委托是一类行为的抽象,是方法的引用,是一种引用数据类型。

# 委托的作用

  • 将方法做为参数传递,可以将一个方法的执行代码注入到另一个方法中。
  • 实现回调,实现的方式比接口更灵活。
  • 实现任意方法的异步调用。
  • 事件实现的基础。

# 委托实现方法的异步调用

  • 同步调用方法:排队调用,前一个方法执行时,后一个方法等待它的结束才能启动。
  • 异步调用方法:不排队调用,前一个方法如果异步调用,后一个方法就不必等待它的结果就可以启动,异步调用方法是创建了一个新线程来工作的,与后一个方法所在的线程不同,各自独立,互不影响。
  • 任何方法都可以异步调用,前提是通过委托引用该方法,使用BeiginInvoer启动异步调用。

# 委托与接口对比

  • 委托和接口都允许类设计器分离类型声明与实现。任何类或结构都能继承和实现给定的接口。可以在任何类上的方法创建委托,前提是该方法符合委托的方法签名。
  • 接口引用或委托可由不了解该接口或委托的类对象使用。

以下情况使用委托

  • 使用事件设计模式时。
  • 封装静态方法可取时。
  • 当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
  • 需要方便的组合。
  • 当类可能需要该方法的多个实现时。

以下情况使用接口

  • 存在一组可能被调用的相关方法时。
  • 当类只需要方法的单个实现时。
  • 当使用接口的类想要将该接口强制转换为其他接口或类型时。
  • 当正在实现的方法链接到类的类型或标识时。

# 什么是事件

  • 事件的语义特征是偶发有影响,事件发生后,其他对象做出响应。
  • 事件的模型是一个天然的通知模型。
  • 事件天然是观察者模式的实现。
上次更新: 2025/02/10, 20:20:37
最近更新
01
Git问题集合
01-29
02
安装 Nginx 服务器
01-25
03
安装 Docker 容器
01-25
更多文章>
×
×