.net学习必备基础知识

进入21世纪,开发Windows程序已经成为以Dll为基础,而.NET Framwork也日益成为我们开发软件的有利工具,下边我们就来先看一下,学习.net的一些必备基础知识。

一,首先.net是由公共语言执行时期(CLR)与基底类别库(BCL)组成。这两个东西是什么呢?我们先来看一下:

1,CLR是公共语言运行时,Common language Runtime 和Java虚拟机一样也是一个运行时环境,他负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。也就是给了我们编写程序的环境。它可以为我们提供:a,所有.NET程序语言执行程序的服务(包括跨语言呼叫及继承等);b,提供自动记忆管理(包括自动管理程序执行与自动执行资源收集等);c,提供与COM元件想互通的能力;d,内建多执行绪执行能力;当然还包括类别载入器,例外管理,组件查验器,除错引擎,资源回收器,COM互通,即时编译器,记忆管理等等功能。

2,BCL,一个公共编程框架,成为基底类别库,所有语言的开发者都能利用它。是CLI(Common LanguageInfrastructure,公共语言基础结构)的规范之一。它的功能包括 a,提供开发各种解决方案时所需使用的物件,加速开发解决方案的速度,不需从头做起;b,所有的.NET语言皆适用同一组,开发人员可以选择不同的语言共同开发;c,将各种不同的解决方案的模型一致化。包括:系统类别,XML类别,GDI+类别,Windows类别,ADO.NET类别,ASP.NET类别等等。

总而言之,.NET 为我们提供了开发程序的一个环境,而这个环境的功能非常强大,可以满足我们的很多需求,给我们开发带来很大的便捷,所以才成为我们21世纪开发选择的工具。

二,以元件为基础的设计:

在这里我想先简单介绍一下DLL元件:动态链接库英文为DLL,是Dynamic LinkLibrary 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。DLL的优点: 1,扩展了应用程序的特性; 2,可以用许多种编程语言来编写; 3,简化了软件项目的管理; 4,有助于节省内存; 5,有助于共享资源; 6,有助于应用程序的本地化; 7,有助于解决平台差异; 8,可以用于一些特殊的目的。 Windows使得某些特性只能为DLL所用。具体了解看下边连接。

1,由此编写的应用程序是由一个或多个元件(DLL)所组成的;例如下边这个典型的多层式应用程序设计:

.net学习必备基础知识

2.NET本身也是由许多元件所组成的,我们可以通过这张图简单了解一下:

.net学习必备基础知识

三,.NET组件机制:

GAC全称是全称是全称是全称是Global Assembly Cache, 作用是可以存放一些有很多程序都要用 到的公共Assembly.

组件(Component):是对数据和方法的简单封装,这是面向对象一个非常明显的表现;

.NET组件机制的好处:1,不需要registry,.NET使用良好定义的搜寻路径来搜寻元件;2,不会有DLL Hell的问题;

四,程序部署的选择:

  这里给大家提出几种方法,先供大家了解一下。

  1,组件可以和.EXE档存放于相同的资料夹下;2,将一些安装在和.Exe相同的资料夹下,一些安装在GAC中(GAC可以让你在不同的应用程序共同同一组组件,同时可以让你存在不同的版本。)3,透过COnfig组态设定档(组态档是用一种建构软件专用的特殊编程语言写的CMake脚本。使用组态档能改变程序的设置,而不用重新编译程序。)部署,组态设定档可以让你自定义组件的位置;

 学习.NET,我认为首先我们需要了解认识一下关于.NET的各种宏观知识,这里边出现很多名词,我们可以多上网查查,使.Net在自己心里不那么陌生,然后再具体学习,奠定基础!

你可能感兴趣的:(.net)