.NET Framework 1.0 --4.0 ---4.5 变化
.NET Framework的设计目标是 Producttivity1
1 减少语法噪音
2 惯用法实现
多数人采用的惯用法,会逐渐迁移到框架内实现
-partial 局部类 可以将一个类分成多个文件,编译后时合并
-TtyParse
-int? default
-EventHandle<T>
3 类库功能增强
List<T>.FindAll
Stringbuilder.Clear();
String.Join
Collection类库每一个版本都有变化
4 编程范式
2.0泛型(Generics)编程
3.0函数式编程Functional programming
4.0并行编程Dynamic
5 设计模式
设计模式本质上是弥补面向对象语言的不足
如果语言本身支持,何必发明轮子
-Lazy<T>
-Event
-Iterator
6 产品级通用解决方案
LINQ
EF
TPL Task Parallel Library
Rx
7.项目开发支持
Code Behind
Partial Class
Namespace alias
换一个角度 OOP设计远程
SRP-Soc
OCP
DIP
DI/Ioc
KISS
DRP
2.0
泛型Generics
迭代器Iterators
foreach yeild
局部类partial
TryParse()
access modifilers on getters and setters 属性访问修饰符
anonymous methods 匿名方法
background worker pattern 后台工作进程
Generics Constraints 泛型约束
static class 静态类
3.0
WF WPF WCF CardSpace
3.5
anomymous types 匿名类型 var
automatically implemnented properties 自动属性 {get;set;}
Collection initializers 结合初始化器 new List<int>{1,2,3,4,5};
Object initializer 对象初始化器
Student student = new Student(){StudentName ="zen",Numver =20102};
Extention methos 扩展方法 “abc”.ToHTML();
LINQ
data.Select(n=>n.ToUpper()).All(n=>n.length>5);
Parameterless Anonymous Methos 无参匿名方法
delegate{retrun Console.ReadLine() !=“”}
Lambda表达式 (a,b)=>a+b
4.0
TPL &Parallerl loops
PLINQ Concurrent Collection
dynamic
Opitional parameters