对张子阳先生对委托和事件的两篇文章的读后思考(说得很透,内附故事一篇)...
第一篇 C#中的委托和事件
第二篇 C#中的委托和事件(续)
首先,张子阳先生的这是两篇关于委托和事件间关系的文章,是目前为止我读过的介绍委托和事件以及异步调用最简明清晰文章,作者通过非常有节奏的“标题”->“问题”->“思路”->“实现”->“讲解”的结构,分步骤一步一步地将委托和事件的实现、应用与原理阐述得非常清楚,并且在行文期间将自己有趣的思考过程通过生动的语言表达了出来,使人读起来越发的感兴趣,以下就是我读过这两篇文章以后,对委托、事件、异步调用一些新的理解角度的阐述。
*由于后半讲的卖艺术品故事只是在用主人公的行为模拟主线程处理函数调用的情景,所以为了能在读的时候更有趣味,强烈建议新手在看这个故事前,先去补一补异步中的几个概念 IAsyncResult、CallBack、Invoke、beginInvoke、endInvoke等基础,上面两篇文章就不错。
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
那么,c#委托到底是怎么个事儿呢?
委托调用
c#事件Event与委托delegate的关系
遇到问题之后,你开始了思考,于是,异步执行的概念诞生了
异步的回调以及异步调用传入数据
异步的好处
最后我为故事编了个皆大欢喜的结尾:
后记:
为什么要写出这样一篇故事一样的文章呢?因为我注意到一个现象,就是有时一个概念或一个道理我觉得自己懂了,但是拿起来想写出来却写不出来,想给别人说却不知从何说起,直到我看到netfocus的enode群里面说的一句话(原话详细有出入,大概意思)“只有你把你觉得理解了的东西能写出来,你才能确定自己是理解了,而写出来的东西分享出去还能让别人看懂,那才说明了你写的是对的”,我还想在这句话后面加一句,你写的别人能懂,那是义务,毕竟占用了别人生命中的时间和注意力,要是别人还能喜欢你的作品,那就是缘分了。所以我现在的小目标之一,是想从昨天开始把我理解了的东西写出来,并且写得尽量让别人能看懂,最好有喜欢我写的作品的有缘人。
顺便说一下DDD的分布式框架eNode,这是一个非常有专注力的博主,一直坚持分享自己学习DDD的思想结晶,加入他之后感觉自己有了很多提升和感悟,感兴趣的可以参与到netfocus的开源项目中去。
netfocus的博客
转载于:https://www.cnblogs.com/JonathanEvents/p/6001150.html
对张子阳先生对委托和事件的两篇文章的读后思考(说得很透,内附故事一篇)...相关推荐
- [转载] 张子阳 --- C# 中的委托和事件
引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 ...
- C#委托-委托和事件(来自张子阳)
引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 ...
- C# 中的委托和事件 Powered by 张子阳
C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 ...
- C# 中的委托和事件【转张子阳】
PDF 浏览:http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf 文中代码在VS2005下通过,由于VS2003( ...
- C#的委托与事件(张子阳原创)
C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 ...
- C#中的委托和事件--转自张子阳
引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去 ...
- 最好的委托与事件详解一(转自张子阳博客)
C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 ...
- Asp.Net 构架(Http请求处理流程) - Part.1 (来自张子阳的博客)
导读 在写本系列文章的过程中,我遇到了很大的困惑:在我准备讲述问题A的时候,我发现需要先解释问题B:当我考虑如何讲解问题B的时候,又发现如果对问题C不够清楚,很难较好地理解问题B.好吧,事已至此,我决 ...
- .net之美 张子阳
1 ..net之美 张子阳 点击打开链接 2.博客园 张子阳 点击打开链接 点击打开链接
最新文章
- python3 字符串 hex 相互转换 代替python2 decode(‘hex’)
- 泰安虚拟服务器怎么样,一山二虎 泰安双路GT24服务器对比评测
- window.navigator.userAgent用来区分设备和浏览器
- daily scrum 11.27
- 广州的11个辖区_重庆前三季度GDP反超广州,这对两城到底意味着什么?
- Android 系统(229)---OTA
- python读取数据库数据、并保存为docx_Python - 爬取博客园某一目录下的随笔 - 保存为docx...
- linux手动安装unzip_centos7离线安装unzip和zip
- mysql 将 字符 转换成 数字
- 「翻版王攀」?深大研究生控诉导师不让毕业:读研三年,猪狗不如
- PRML第三章3.3贝叶斯线性回归
- 觅伊的进化,是陌生人社交的未来吗?
- 国际冠码与国际电话区号
- 量子计算机为什么低温,突破量子计算机瓶颈!超低温芯片能在接近绝对零度的温度下工作...
- 详细介绍MVC与Django的MVT模式
- DateUtil时间处理插件
- python学习笔记之word文档提取
- 使用 mitmproxy + python 做拦截代理 ( 后附猫眼跳转到美团验证码的拦截脚本 )
- Unix整理笔记——Unix基础——里程碑
- XP的140个技巧(转)
热门文章
- 网络工程师试题(一)-2020-12-6
- dtree java_dtree的使用
- N1 openwrt搭建傻妞+go-cqhttp机器人
- 机器学习_深度学习毕设题目汇总——语言
- 安卓连接Mqtt服务器
- 川大计算机学硕奖学金,四川大学研究生奖助体系实施方案
- java getmapping(_java之@Controller和@RestController以及@GetMapping和@PostMapping接收参数的格式使用...
- Java的对象类型转换
- 蓝桥杯 算法训练 乘积最大(动态规划)
- Win10快捷键整理