一、.NET定义。
.NET 是Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
可以实现跨平台语言呼叫和继承。
二、.NET应用组件。
CLR是公共语言运行时,Common LanguageRuntime)和Java虚拟机一样也是一个运行
时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
BCL一个公共编程框架,成为基类库,所有语言的开发者都能利用它。包括ASP.NET
类别、ADO.NET类别、windows类别、XML类别、GDI+类别、系统类别
IL是.NET框架中中间语言(Intermediate Language)。使用.NET框架提供的编译器可
以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(IntermedateLanguage)的代码。
GUI图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采
用图形方式显示的计算机操作用户界面。
三、.NET错误抛出和处理
.NET中的错误:
A.错误被视为是物件。
B.错误是透过抛出的方式被引发。
C.错误可以透过Catch的方式被捕捉。
.NET中的错误种类:
.NET中的错误处理:
使用Try-Catch语法
使用Catch语法来捕捉可能发生的错误。
四、.NET与数据库。
A.数据库(资料库)
数据库是存储资料的固定位置。一个数据库可以包含很多个数据表。数据库的正规
化可以帮助你设计资料库。
数据库管理系统(DBMS)包括两个东西:数据和数据库引擎。
管理数据库的工具有:SQL、Microsoft Access等
B.数据库接口(ADO.NET)
1、ADO.NET基础
主要有两个元件:.NET Framework资料提供者和DataSet
(1).NET Framework 资料提供者将有关资料库存取的细节封装起来。用于管理资料顺向制度资料的元件。
.NET Framework里面含有Connection 物件、Command物件、DataReader、DataAdapter
Connection物件会提供资料来源的连接。
Command物件可让您存取资料库命令,以便传回资料、修改资料、执行预存程序 (Stored Procedure),并且传送或撷取参数资讯。
DataReader则可提供来自资料来源的高效能资料流。
DataAdapter会提供 DataSet 物件与资料来源之间的桥接器 (Bridge)。DataAdapter 会使用 Command 物件与资料来源处执行 SQL命令,以便将资料载入 DataSet,并且将 DataSet 内的资料变更调节回资料来源。
(2)DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。
DataSet是离线式的Recordset在分散式应用程序中特别有用。
五、.NET部署。
一个软件系统可能分布在很多电脑上,包括用户端、服务器、数据库等,让一个系统运行所需要做的设置成为部署。
.NET开发的程序需要在.NET平台上才能运行,所以,首先需要测试目标主机有没有安装.NETFramework。
通过Windows Update或Installer Script让用户自己选择安装
VS.NET可以设置安装过程,在安装软件之前检查机器里是否有.NETFramework,如果没有进行安装。
.NETFramework有不同的版本,DLLs默认在编译它时的Framework上运行,可以通过.config指定运行.net Framework版本。
部署方式
1、.NET 的 XCOPY 部署
.NET程序集的部署与以前版本相比显得简单的多,可以被称为 XCOPY 部署。XCOPY 部署意味着在很多情况下,都只用简单地将 .NET应用程序目录拷贝到目标位置。
以下的 .NET特性使得该简单部署过程成为可能。
每个程序集都是自描述的,因为程序集包含定义其内容的元数据。这个特性杜绝了用无止境的注册表登记项来定义各个组件的公共接口的做法。
.NET程序集中的每个组件都使用标准的位置,因此不需要在注册表中进行定义。
可以用配置文件来修改组件的位置,不过程序集在标准位置查询这些配置文件,从而避免了注册过程。
但是,还有部署过程更加复杂的情形,例如:
.NET 应用程序与 COM组件的交互仍然需要注册。
在远程计算机上将程序集预编译为本地代码需要比仅仅将文件拷贝到目标目录更多的过程。
将程序集安装到远程计算机的全局程序集缓冲中时需要更多的步骤以使该程序集成为全局共享程序集。
当安装与 .NET 框架一起部署的Windows 服务时,这些服务需要在目标系统注册。
某些 .NET应用程序安装过程需要在其它服务中设置对象,如活动目录、 Internet 信息服务,以及集成于 Windows Server系统的服务器软件,需要运行其他的应用程序或脚本来创建和配置这些对象。
当定制一个用户环境,例如开始菜单项、桌面快捷方式、控制面板小程序、自定义文件夹以及 Office 外接程序时,需要安装程序创建所有这些自定义的项目。
2、“零接触”部署
给应用程序的.EXE设定一个URL,用户端通过浏览器(IE)等,打开URL连接应用程序。
.NET将AppBase设为WebServer的虚拟目录
AppBase即应用程序主目录,.EXE所在目录
用户从AppBase下载.EXE、DLLs,然后,显示,用户请求结果
3、共用部署
将共用的各个版本组件安装到GAC中
具有强式名称的组件载入的效率比较快
4、下载快取部署。
使用CodeBase来指定DLLs位置。
部署新版的.EXE就会出发下载新版的DLLs
六、.NET多线程设计。
1、一个CPU如何做到Concurrency(多个操作同时执行)?
使用硬件做CPU切换。每隔一段时间程序切换一次。
2、如何解决用户端等待的问题?
A.重新设计分散式应用程序。改用非同步机制。
B.在客户端使用多执行绪机制。多执行绪是在一个程式内部实作多工的能力。程式可以把它自己分隔为各自独立的「执行绪」,这些执行绪似乎也同时在执行着。这一概念初看起来似乎没有什么用处,但是它可以让程式使用多执行绪在背景执行冗长作业,从而让使用者不必长时间地无法使用其电脑进行其他工作(有时这也许不是人们所希望的,不过这种时候去冲冲凉或者到冰箱去看看总是很不错的)!但是,即使在电脑繁忙的时候,使用者也应该能够使用它。
3、多执行绪设计上的困难?
A.协调问题。
B.通讯问题。
C.同步问题。
七、软件工程与工具。
1、软件工程的方法。
A.eXtremeProgramming
主要原则:
1.把客户端整合到软件开发流程中。
2.随时设计。
3.随之测试。
4.每天或每周都产生原型。
软件工程工具
1、UML绘图工具。
2、代码分析工具。
3、测试工具。
4、原始码管理工具。
5、文件产生工具。
6、Make工具。
思维导图如下: