.net培训周年纪

.net培训周年纪

    在过去一年在单位内部向总分支机构的开发人员进行了.NET方面的培训,强度很大,几乎是每周一次(做为微软的MVP,为了微软在我行产品的推广也是够拼了),这一年的经历到现在真是需要总结一下了,总体呢来说对于C#我还是比较了解的,但是函数式语言F#我还要提高更多。过去一年总结如下:

一、先是带领大家以C#为描述语言回顾了面向对象的22种设计模式,并在设计模式的学习中回顾了相应的依赖反转,开放封闭等设计原则。并着重介绍了C#在事件代理机制上相比于JAVA的优势。

二、对于C#语言进行了全面讲解,对于基本基本语法、数据类型、类型转换、变量、常量、运算符、判断、循环、封装、方法、可空类型、数组(Array)、字符串(String)、结构(Struct)、枚举(Enum)、类(Class)、继承、多态性、运算符重载、接口(Interface)、命名空间(Namespace)、预处理器指令、正则表达式、异常处理、文件的输入与输出、反射及并行均进行了详细的介绍与例证。

在这段讲解中给我感触最深的还是要将JAVAC#结合对比效果比较好,比如几个关键的点

1.比如泛型是不一样的,Java泛型只是编译时的,但C#的泛型在运行时的,同时C#在泛型的速度及处理效率上也比JAVA好的多,让大家亲身用.netJAVA程序比较效果非常好。

2.C#支持符重载也支持LINQ,通过这样的学习也能让大家了解LINQ的特性。

3.C#nsigned 的整形

4.C#可以使用ref out 传递引用,而JAVA只能传值。同时C#可以使用UNSAFE修饰,来直接操作内存。

     5.新版本的C#开始支持Parallel,也就是并行计算优化。

三.对于F#进行了全面的介绍

通过对于C#Parallel的介绍,引出了F#的内容。对于F#我的理解还不够深刻,属于边讲边学的阶段。对于F#进行了以下方面的介绍,包括了枚举类型、函数、高阶函数、递归、TupleRecordPatternMatchList内包式、Dictionary以及函数式编程与F#面向对象编程的初步思想进行了讲解。

这个阶段给我印象最深刻的是函数式编程的思想,函数式编程将程序看作是接受参数并返回值的函数的集合,它不允许有副作用(side effect,即改变了状态),使用递归而不是循环进行迭代。FP中的函数很像数学中的函数,它们都不改变程序的状态。举个简单的例子,一旦将一个值赋给一个标识符,它就不会改变了,函数不改变参数的值,返回值是全新的值。这个理念引发了大家的广泛讨论。

其实无论是面向对象还是面向过程,大量的循环语句会降低并发性能。比如for(i=0,i++,i<maxnum)NUM+=NUM,这样的求和方式让计算机只能用一个核心来处理循环变量以及相应操作,而函数式编程的思想则不具体告诉计算机要怎么样做,反而加大了编译优化的可能性。

我觉得这一年虽然准备教案比较辛苦,但是物有所值,自己在其中也学习到了很多知识。今年继续加油前行!最后上几张图同志们看到勿喷。



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值