随着时间的推移,程序越写越大,代码越写越少。

今天突然发呆,就想比较全面的汇总一下 .Net 2.0 和 .Net 4.0 都实现的功能。

.Net 2.0 的大部分常见程序集 (已经过滤掉了一部分和常见业务无关的程序集)

.Net 4.0 的大部分常见程序集 (已经过滤掉了一部分和常见业务无关的程序集)

.Net 4.0 WPF (.Net 3.5 就有了 WPF)

.Net 4.0 WCF (.Net 3.5 就有了 WCF)

.Net 4.0 Task 异步编程

.Net 4.0 Workflow

.Net 4.0 加解密 (.Net 2.0 就已经存在)

.Net 4.0 IO (.Net 2.0 已经存在,.Net 4.0 增加了文件的 zip 加解压 等)

.Net 4.0 网络 (.Net 2.0 已经存在)

.Net 4.0 EF (.Net 3.5 就已经存在)

汇总一下吧:

.Net 2.0 (最经典的一个版本) 包含如下功能:

> 数据库操作 (SqlServer、Oracle、OleDb操作Access)

> GDI+ Image 绘图

> WinForm 桌面程序

> Asp.Net Web程序

> App.config 配置 文件读取

> XML 读写、正反序列化、JSON正反序列化(基于System.Web)

> 正则表达式

> 分布式事物

> 加解密

> 消息队列

> 网络通讯、TCP/IP、UDP、Http请求 等

> Binary 正反序列化、Remoting 远程对象

> Thread 多线程

> IO 文件读写、输入输出

> 反射、Emit高速反射

> 系统、硬件 等的基本控制

.Net 4.0 (最完善的一个版本) 增加如下功能:

> Linq 表达式、Linq 集合操作

> dynamic 动态对象

> BigIntger 大数值 (我没有用过)

> MVC Web程序

> WPF 窗体程序

> WCF 通讯(顺带还支持了新的 JSON正反序列化)

> 网络通讯 增加了 HttpListener (可以用 控制台、服务、窗体程序 实现自己的 Web服务端)

> 增加了一些其他的 输入输出流,IO 增加了 Zip文件支持 (而我依然在使用 ICSharpCode.SharpZipLib.dll)

> EF ORM数据库实体框架 (假如我说,我的很多项目依然还是在用 SqlHelper 会不会有人笑我? 那几十几百行 一坨坨的 sql 脚本,实体框架似乎真心不太适用)

> Workflow 工作流 (没用过)

> 反射、Emit高速反射、Expression表达式树

> Task 异步多线程编程 (Task异步编程的巅峰完善是 .Net 4.5)

其实,.Net 4.0 比 .Net 2.0 多出来的部分大多是:对数据操作的完善

> 比如 Linq 简化集合数据

> 比如 EF实体框架 简化数据库数据

> Task 异步编程 加快数据处理

> Expression 表达式树 简化动态数据逻辑

> Workfolow 控制数据流转

> 对 Zip 文件等的支持

> 增加各种 线程安全的、可以排序等的 List、Hash 结构 (其实,我还是再用 List<T>  Dictionary<K, V>  Hashtable —— 虽然知道有新的 List Hash,但只是听过没用过)

> 增加了 大数值 支持

> 增加了 动态对象

> 更好的支持了 JSON类型 (.Net 2.0 基于 System.Web 的JSON 是真心不好用)

—— 似乎除了 WPF、MVC 是功能型框架外、其余 .Net 4.0 增加的东西 都是在为 数据服务。

其他我之前没见过 也没用过的 .Net 4.0 程序集:

—— 这些程序集,看名字 似懂非懂,真心是没有用过。

InkFx

2018-08-27 23:50

『发呆』.Net 2.0 ~ .Net 4.0 所实现了那些底层的更多相关文章

  1. 『开源』设置系统 主音量(0~100 静音) VolumeHelper 兼容 Xp Win7 .Net 20 AnyCPU

    背景: 近来的生活一团乱麻,没心态写高大上的代码,于是就着手 写了几个 辅助类. 在整理 InkFx.Utils 时,发现有几个 辅助类 只写了定义,没有实现函数体,于是就 花了1天时间 完善了一下. ...

  2. [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装

    [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...

  3. 了解真实的『REM』手机屏幕适配

    rem 作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用.使用 rem 前端开发者可以很方便的在各种屏幕尺寸下,通过等比缩放的方式达到设计图要求的效果. rem 的官方定义『The ...

  4. 『开源』Slithice 2013 服务器集群 设计和源码

    相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...

  5. 『片段』OracleHelper (支持 多条SQL语句)

    C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...

  6. 『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布

    项目原因: 参与过各种 分布式项目,有 Socket,Remoting,WCF,当然还有最常用的可以跨平台的 WebService. 分布式编码的时间浪费: 但是,无一例外的,开发分布式程序的开发遵循 ...

  7. 转:『代码』JS封装 Ajax级联下拉列表

    在博客园看到一篇不错的AJAX级联下拉列表,觉得不错,特地拿下来 :转载来自:『大雪无痕』 ,原文地址 //当一个 下拉列表 改变时,触发所有联动:(警告:各下拉列表之间 请不要出现 循环依赖) // ...

  8. 『转载』Debussy快速上手(Verdi相似)

    『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是 ...

  9. 『WPF』DataGrid的使用

    原文 『WPF』DataGrid的使用 几点说明 这里主要是参考了MSDN中关于DataGrid的说明 这里只会简单说明在WPF中,DataGird最简单的使用方法 对于MSDN中的翻译不会很详细,也 ...

随机推荐

  1. 三级菜单python写法(递归写法)

    数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, ...

  2. 佛祖镇楼,BUG避易

    def FZZL(): print(" _ooOoo_ ") print(" o8888888o ") print(" 88 . 88 ") ...

  3. nginx+php+mysql+wordpress搭建简单站点 安装及配置过程

    环境 阿里云ECS云服务器 CPU:1核 内存:2G 操作系统:Centos 7.3 x64 地域:华北 2(华北 2 可用区 A) 系统盘:40G 安装及配置 主要使用 nginx . php 和 ...

  4. virsh命令来创建虚拟机

    virsh命令来创建虚拟机步骤 (1)生成硬盘镜像文件: 格式:raw或qcow2 # qemu-img create -f raw fdisk.img 10G qemu-img convert re ...

  5. c语言之单链表的创建及排序

    今天对之前学习过的链表知识进行简单的总结顺便写点代码:创建一个链表有头插法跟尾插法两种,在下面代码中我们为结点分配的内存实在堆上分配的,因此需要我们手动释放,释放用free()函数 下面代码贴出具体代 ...

  6. 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习

    1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...

  7. SSM-MyBatis-07:Mybatis中SqlSession的insert和delete底层到底做了什么

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先点进去看一下insert方法 用ctrl加鼠标左键点进去看 发现是一个接口SqlSession的方法,没有实 ...

  8. 关于Linux虚拟化技术KVM的科普 科普五(From 世民谈云计算)

    另一位大神写到KVM文章,KVM 介绍(1):简介及安装.KVM 介绍(2):CPU 和内存虚拟化.KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtual ...

  9. Java开发岗面试知识点解析

    本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...

  10. 你不知道的JavaScript--Item12 undefined 与 null

    当讨论JavaScript中的原始数据类型时,大多数人都知道从String.Number到Boolean的基本知识.这些原始类型相当简单,行为符合常识.但是,本文将更多关注独特的原始数据类型Null和 ...