深入.NET框架
一:Microsoft.NET平台发展史
(1):
Microsoft .NET 是微软新的因特网战略。
.NET 起初被称为 NGWS。
NGWS - 下一代视窗服务(Next Generation Windows Services)
在 .NET 被正式发布之前,NGWS 这术语一直被用于微软的某些计划,这些计划旨在创建一个下一代视窗服务的基于因特网的平台("Internet-based platform of Next Generation Windows Services")。
史蒂夫.鲍尔默于 2000 年:
“交付一个基于因特网的下一代视窗服务平台是我们公司的重中之重。我们在此谈论的突破包括对编程模型、用户界面、应用程序整合模型、文件系统、新的 XML schema ...的改变。”(2):
Microsoft. NET
Microsoft. NET 战略在 2000 年 6 月由微软官方正式发布:
- .NET 是微软的新的因特网和 Web 战略
- .NET 不是一个操作系统
- .NET 是一个基于因特网和 WEB 的全新架构
- .NET 将软件作为 Web Services(提交给用户)
- .NET 是用于通用服务(universal services)的一种构架
- .NET 可运行于任何平台上的任何浏览器中
- .NET 基于最新的 web 标准
.NET 因特网标准
.NET 被构建于以下因特网标准之上:
- HTTP,因特网应用程序之间的通信协议
- XML,用于在因特网应用程序之间交换数据的格式
- SOAP,用于请求 Web Service 的标准格式
- UDDI,用于搜索和发现 Web Service 的标准
.NET 框架(.NET Framework)
.NET 框架是为微软新的 .net 平台服务的基础结构。
.NET 框架是用于构建、开发以及运行 Web Service 和 Web 应用程序的公共环境。
.NET 框架包含着公用的类库 - 比如 ADO.NET、ASP.NET 以及 Windows 窗体 - 提供可被整合到多种计算机系统的高级标准服务。
.NET 框架是对语言中立的。目前,它支持 C++、C#、Visual Basic、JScript (JavaScript 的微软版本)以及 COBOL。第三方语言 - 比如 Eiffel、PerlPython、Smalltalk 等等 - 也将可用于构建未来的.NET 框架应用程序。
新的 Visual Studio.NET 是用于新的 .NET 框架的公共开发环境。它提供多功能的应用程序执行环境、简化开发以及多种开发语言之间简易的整合。
二:CLR包含哪两个组成部分?(CLR和FCL)
(1):CLR是.NET框架的基础。
(2):FCL是一个综合性的面向对象的可重用类型的集合,利用它不仅可以开发传统命令行应用程序,而且可以开发WinForms应用程序及基于ASP.NET的应用程序。
三:CLR(公共语言进行时)
(1):CLR是所有.NET应用程序运行时的环境,是所有.NET应用程序都要使用的编程基础。
(2):CLR也可以看成一个执行时管理代码的代理,管理代码是CLR的基本功能,能够被其管理的代码成为托管代码,反之成为非托管代码。
(3):CLR包含两个组成部分:CLS(公共语言规范)和CTS(通用类型系统)。
CLS(公共语言规范):限制了由这些不同点引发的互操作性问题。
CTS(通用类型系统):用于解决不同语言数据类型不同的问题。
四:FCL(框架类库)
(1)System:此命名包含所有其它的命名空间。
(2)System.Collections.Generic:支持泛型操作。
(3)System.IO:支持文件操作。
(4)System.Net:支持对网络协议的编程。
(5)System.Data:提供对表示ADO.NET结构的类的访问。
(6)System.Windows.Forms:用于开发Windows应用程序。
(7)System.Drawing:支持GDI+基本图形操作。
五:类和对象
(1)类和对象关系:
- 由对象归纳为类,是归纳对象共性的过程。
- 在类的基础上,将状态和行为实体化为对象的过程称为实例化。
(2)属性访问器(get和set)
- 只写属性:只包含set访问器。
- 只读属性:只包含get访问器。
- 读写属性:同时包含set访问器和get访问器。
(3)自动属性的快捷键:prop关键字+Tap键+Tap键。
六:封装
(1)封装又称为信息隐藏,是指利用抽象类型将数据的操作结合在一起,使其构成一个不可分割的独立实体,尽可能隐藏内部的细节只保留一些对外接口,使之与外部发生联系。
(2)封装好处:
- 保证数据安全性。
- 提供清晰对外接口。
- 类内部实现可以任意修改,不影响其它类。