对张子阳先生对委托和事件的两篇文章的读后思考(说得很透,内附故事一篇)

 

第一篇 C#中的委托和事件

第二篇 C#中的委托和事件(续) 

首先,张子阳先生的这是两篇关于委托和事件间关系的文章,是目前为止我读过的介绍委托和事件以及异步调用最简明清晰文章,作者通过非常有节奏的“标题”->“问题”->“思路”->“实现”->“讲解”的结构,分步骤一步一步地将委托和事件的实现、应用与原理阐述得非常清楚,并且在行文期间将自己有趣的思考过程通过生动的语言表达了出来,使人读起来越发的感兴趣,以下就是我读过这两篇文章以后,对委托、事件、异步调用一些新的理解角度的阐述。

 (推荐的张子扬先生的文章链接在本文开始处,大家完全可以先不读我的故事,先去看那两篇文章,真的非常好玩)
 
     首先要引用作者文中的一个总结语:
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
 
我觉得这句话可以从clr-via 设计的理念去阐述我的理解:
委托这个概念存在的作用就是实现了观察者模式,并在封装时用类的命名定义了方法的类型,代表了一类参数列表相同的方法。
 
对,没错,就是将各种不同命名的同参数列表的方法,进行了具有可以归类批量处理能力的封装,归类后就可以很方便的把标注了delegate这个关键字的具有特定参数列表的方法标记为一个类,并在所有做了订阅操作(+=)的方法,放置于其编译后所生成的代理类中的一个List<T>中,那么在调用的时候,就可以简单地使用调用delegate的一个实例成员,来通过一次输入代理所定义的参数列表,调用订阅了这一委托实例的这一组同类型方法,因为他们需要的参数列表都是相同的嘛~。

我想了解如何学习

姓名:
手机:
留言: