(读书笔记).NET大局观-.NET框架类库概观

.NET框架类库概况

 

构建在.NET框架上所有的软件,都会用到通用语言进行时,即使基于最简单的CLR程序,也需要用到一部分.NET框架类库,更精致复杂的软件则使用这个类库提供的更多服务。

 

.NET框架类库被组织一套具有层次结构的命名空间,每个命名空间可以包含类型如类和接口,以及其他次级命名空间,整个体系的根名为System

 

System命名空间

System命名空间是.NET框架类库的最终源头,它除了包含一大套次级命名空间以外,本身也包含很多不同类型,其中最有意思的就是下面这些:

 

CLR通用类型系统:定义所有的核心类型

Console

Math 这个类提供两打以上的方法用来进行各种数学计算

Environment 用于访问“当前运行之程序”的环境信息

GC 用来影响垃圾回收机制何时发生以及如何发生

 

 

System次级命名空间概览

(这一部分借鉴到http://hi.baidu.com/wqk1025/item/2dccf183f2700cc498255fff文章中的一部分)

命名空间          描述

Microsoft.CSharp          支持C#语言编译和生成代码

System                         包含了基础类,用于定义类型/数组/字符串/事件/事件处理程序/异常处理/接口/数据类型转换/数学计算/应用程序环境管理等等.

System.Coolections   包含了一组用于管理对象集合(例如列表/队列/数组/哈希表/字典等)的类

System.Data       主要包括了组成ADO.NET体系结构的类

System.diagnostics     提供用于调试/跟踪,以及与系统进程/事件日志/性能计数器进行交互的类

System.Drawing   提供访问GDI+基本图形功能(在System.Drawing以下的命名空间,包括System.Drawing.Drawing2D和System.Drawing.Text等,提供了更高级和更特殊的GDI+图形功能)的类

System.IO    包含了用于读写数据流/文件和普通输入/输出(I/O)功能的类型和类

System.Reflection     包括提供类型检测和动态绑定对象功能的类和接口

System.reflection.Emit     生成动态程序集

System.Text     包含用于字符编码/将字符块转换为字节快/将字节块转换为字符块等功能的对象

System.Text.RegularExpressions     包含了提供访问.NET框架正则表达引擎的类

System.Timer                  提供了Timer组件

System.Web    包含了用于实施浏览器/服务器通信和其他Web相关功能的类

System.Web.Services    包含了用于创建和消费Web服务的类

System.Web.UI    包含了用于创建Web页和控件的用户接口的类和接口

System.Windows.Forms    包含了用于创建基于WINDOWS的用户接口的类

System.XML   提供了支持处理XML的类

 

System.Runtime.Remoting是另一非常重要命名空间,因为它包含你的类型允许访问其他进程记忆其他机器上的托管对象

 

 

 

类库可以分为几大类:

基础服务

用于创建于人们交互的web应用程序的服务

用于处理数据的服务

用以创建分布式程序的服务

 

 

基础命名空间

接下来要描述的是.NET技术的基本知识——输入和输出,序列化,反射,事务,以及互操作性——应该纳入每一个.NET程序员开发人员的武器库

 

输入和输出 System.IO

这类最重要的基础是stream类,该类定义了stream的有用的抽象,它是个字节序列以及如下的一些方法:stream的读取和涂写,stream是一个抽象类,因此有许多特定stream类继承于它,目标是为开发人员提供一致的方法访问各种各样的信息。

 

序列化System.Runtime.Serilization

对象通常都有对象(state),例如一个类的某个实体可以有一个或者多个字段,每一个都包含某个值,从一个对象中抽取这种状态,无论是将它存储于某地,或者是通过网络传送它,通常都是有意义的,这种抽取的动作称为”讲一个对象序列化”,而反向的处理,从一个被序列化的状态重建一个对象,即使人们广为人知的反序列化,有点混淆的是:序列化这一术语通常同时指定的是做这两件事的能力

 

 

.NET框架提供两套不同的格式器,一个是二进制(binaryformatter)实现于命名空间System.Runtime.Serialization.Formatters.Binary的BinaryFormatter class中,将一个对象序列化为一个“直截了当,形式精简,解释(parse)快速”的二进制格式。

二进制格式器以一个简单而精炼的形式吐出状态信息

 

另一个格式器SOAP,实现于命名空间System.Runtime.Serialization.Formatters.Soap中的Soap Formatter类中,将一个对象序列化为一个SOAP消息

SOAP格式生成同样的信息并包装秤XML格式,而后格式化成为一个SOAP消息

 

 

当各时期将某个对象序列化以后,所得结果放入一个流中,所谓流就是字节序列的一个抽象概念,因此可包容任何序列化格式,一旦对象呗存储于一个流中,对象状态就可以被存储于磁盘上(或者被持久化了),或是通过网络发送给其他计算机

你可能感兴趣的:(读书笔记,.NET大局观,读书笔记)