读《C#高级编程》第1章 .Net机构体系笔记 网红的话:爸爸说我将来会是一个牛逼的程序员,因为我有一个梦,虽然脑壳笨但 是做事情很能坚持。 本章主要是了解.Net的结构,都是一些概念,并没有可

来源:互联网 发布:关闭端口占用 编辑:程序博客网 时间:2024/05/21 16:23


读《C#高级编程》第1章 .Net机构体系笔记

网红的话:爸爸说我将来会是一个牛逼的程序员,因为我有一个梦,虽然脑壳笨但

是做事情很能坚持。

 

本章主要是了解.Net的结构,都是一些概念,并没有可操作的代码。但是这些概念

有联系,但深刻理解必须要有全局思维和实践基础。

目录:

C#与.Net的关系

公共语言运行库(CLR)

中间语言

程序集

.NET Framework类

名称空间(命名空间):避免类名冲突的一种方式。

用C#创建.Net应用程序(介绍一堆产品概念)

C#在.Net企业体系结构中的重用(介绍.Net的优势:组件冲突少、快速访问数据库

、多功能的基类、易编写窗体界面)

 

1、什么是C#?

C#(读作:C sharp)只是一种面向对象语言,用于生成面向.Net环境的代码,它本

身不是.Net的一部分。.Net支持的一些特性,C#并不支持。而C#语言支持的另一种

特性,.Net却不支持。

注意:要求紧急和高性能时,C或C++这些接近机械码的语言更适用。

2、什么是.Net?

网友说:

dotNet=.net 他是一个框架,一个开发运行环境。    .net 包括 asp.netc#.net 

vb.net ado.net 等一系列桌面、web编程、数据库技术。    要学好.net 首先你要搞

清楚.net体系各个运行环境\技术之间的关系。  然后你搞清楚你自己的学习方向和

技术偏向。

.NET就是微软的用来实现XML,WebServices,SOA(面向服务的体系结构service-

oriented architecture)和敏捷性的技术。对技术人员,想真正了解什么是.NET,

必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要

XML,Web Services 和 SOA。技术人员一般将微软看成一个平台厂商。微软搭建技术

平台,而技术人员在这个技术平台之上创建应用系统。

从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务

构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的

和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应

用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并

运行于公共语言运行时 Common Language Runtime之上的应用程序。)如果一个应

用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不

就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。

 

2公共语言运行库是啥?

(CLR,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,是一个

可由多种编程语言使用的运行环境。CLR的核心功能包括:内存管理(如垃圾回收)

、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言使用。并保

证应用和底层操作系统之间必要的分离。CLR是.NET Framework的主要执行引擎。

http://baike.so.com/doc/5446388-5684755.html

优点:平台无关性(理论上)、提高性能、语言的互操作性。

通常将CLR控制下运行的代码叫做托管代码。

3、什么是中间语言?

IL是.NET框架中中间语言(IntermediateLanguage)的缩写。使用.NET框架提供的

编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不

是CPU能直接执行的机器代码,而是一种中间语言IL的代码。特性:平台无关性、高

性能、语言的互操作性。

4.什么是程序集

程序集是.Net应用程序的部署单元。.Net应用程序包含一个或多个程序集。通常扩

展名是exe或dll的.Net可执行程序称为程序集。程序集与本地dll或exe的区别:它

们的扩展名虽然相同,但是.Net程序集包含元数据,这些元数据描述了程序集中定

义的所有类型及其成员的信息,即方法、属性、事件、字段。

  元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about 

data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数

据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录

的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。

 

5什么是.NET Framework类

.Net基类似一个丰富的托管代码类集合,它可以完成以前用于WindowAPI来完成的绝

大多数任务,它沿用中间语言的对象模型,基于单一继承性。可以使用任何使用

的.Net基类实例化对象,也可以从他们派生出自己的类。

 

6 API是什么?

应用程序接口是一组数量上千、极其复杂的函数和副程序,可让程序员做很多任务

作,譬如"读取文件"、"显示菜单"、"在视窗中显示网页"等等。操作系统的API可用

来分配存储器或读取文件。许多系统应用程序借由API接口来实现,像是图形系统、

数据库、网络Web服务,甚至是联机游戏。

API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源

码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。

API是一种接口,故而是一种抽象。

http://baike.so.com/doc/1026230-1085327.html

 

7什么是DLL?

一般来说,DLL 是一种磁盘文件,以.dll、.DRV、.fon、.SYS 和许多以 .EXE 为扩

展名的系统文件都可以是 DLL。它由全局数据、服务函数和资源组成,在运行时被

系统加载到调用进程的虚拟空间中,成为调用进程的一部分。如果与其它 DLL 之间

没有冲突,该文件通常映射到进程虚拟空间的同一地址上。DLL 模块中包含各种导

出函数,用于向外界提供服务。DLL 可以有自己的数据段,但没有自己的堆栈,使

用与调用它的应用程序相同的堆栈模式;一个 DLL 在内存中只有一个实例;DLL 实

现了代码封装性;DLL 的编制与具体的编程语言及编译器无关。

http://baike.so.com/doc/6836455-7053686.html

DLL与API是啥?

http://blog.sina.com.cn/s/blog_65ef990c01010kiv.html

 

8、COM组件

COM是开发软件组件的一种方法。组件实际上是一些小的二进制可执行程序,它们可

以给应用程序,操作系统以及其他组件提供服务。开发自定义的COM组件就如同开发

动态的,面向对象的API。多个COM对象可以连接起来形成应用程序或组件系统。并

且组件可以在运行时刻,在不被重新链接或编译应用程序的情况下被卸下或替换掉

。Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM而建立起来的

。并且Microsoft的开发人员也大量使用COM组件来定制他们的应用程序及操作系统

。书籍《COM技术内幕》

http://baike.so.com/doc/5446626-5684993.html

 

9堆和栈

特点:堆:先进先出,栈:先进后出。

1.对栈而言,栈中的新加数据项放在其他数据的顶部,移除时你也只能移除最顶部

的数据(不能越位获取)。

2.对堆而言,数据项位置没有固定的顺序。你可以以任何顺序插入和删除,因为他

们没有“顶部”数据这一概念。

http://kb.cnblogs.com/page/501239/

 

 


1 0
原创粉丝点击