第1章 基本介绍
1.6 Internet与万维网
阿帕网(ARPAnet),即当今Internet鼻祖。
在ARPAnet上进行通信的协议,被称为传输控制协议(Transmission Control Protocol, TCP)。
1989年,CERN(欧洲原子能研究组织)的Tim Berners-Lee着手开发一种通过“超链接的”文本文档共享信息的技术。他将这个发明称为“超文本标记语言(HTML)”。Tim还写出了几个通信协议,比如超文本传输协议(HTTP),以构建他的新超文本信息系统的骨架。Tim将这些协议称为World Wide Web。
1994年10月,Tim发起成立了一个组织:万维网联盟(W3C, www.w3.org),致力于为万维网开发技术。
1.7 可扩展标记语言(XML)
HTML缺乏可扩展性(extensibility)——改变或增加特性的能力。同时,HTML的定义模糊,也容易导致错误的HTML。因此,需要标准化的、完全可扩展的和严格结构化的语言。这样,W3C就推出了XML。
XML的关键特性是数据独立性(Data independence),即将内容与它的表示分离。由于XML文档描述的是数据,因此任何程序都可以处理它们。
简单对象访问协议(SOAP)技术可以在Internet上传输(标记成XML的)对象。Microsoft的.NET技术用XML和SOAP技术可以在Internet上传输标记和传输数据。XML和SOAP是.NET的核心,它们使软件组件能相互操作(即能容易地相互通信)。由于SOAP的基础是XML和HTTP,因此大多数计算机系统都支持SOAP。
1.9 .NET框架和公共语言运行环境
公共语言运行环境(Common Language Runtime, CLR)是.NET框架的中心部分——它执行.NET程序。程序分两步被编译成特定机器的指令。首先,程序被编译成Microsoft中间语言(Microsoft Intermediate Language, MSIL),它定义了CLR指令。从其他语言和源转换成MSIL的代码,可以由CLR组织到一起。用于程序组件的MSIL,被放入程序的可执行文件中。执行程序时,CLR中的另一个编译器(称为即时编译器或JIT编译器)将可执行文件中的MSIL 翻译成(针对特定平台的)机器语言代码,然后在这个平台上执行机器语言代码。
.NET框架是运行.NET程序所必须的,它主要由CLR和FCL组成。
MSIL使.NET框架具有语言独立性,因为.NET程序不再受制于特定的编程语言。可以被编译成MSIL的任何语言,都被称为.NET的支持语言。
.NET框架的细节见公共语言基础架构(Common Language Infrastructure, CLI),它包含关于数据类型存储(即具有预定义特征的数据)、对象存储等的信息。
1.11 软件工程案例研究:对象技术和UML介绍
统一建模语言(Unified Modeling Language, UML)
面向对象设计(Object-Oriented Design, OOD)利用类(Class)关系,即属于某一特定类的对象都具有相同的特性。OOD利用了继承(inheritance)关系,即新创建的对象的类是由现有的类派生而来的,它一方面吸收了现有类的一些特征,另一方面又增加了一些自己独有的属性。
OOD将对象的属性和操作或行为封装(encapsulate)或打包进对象中,使对象的属性和操作紧密捆绑在一起。对象具有信息隐藏的特性。这意味着通过良定义的接口,对象可以知道如何与另一个对象通信,但通常不允许它获知另一个对象是如何实现的——实现细节被隐藏在对象的内部。
面向对象编程(Object-Oriented Programming, OOP)
类似C的语言室面向过程的(procedural),因而用这类语言进行编程是面向动作的(action-oriented)。在C中,编程的基本单位是函数(function),在C#中,编程的基本单位是类,对象最终都要通过它被实例化(instantiate)或创建。C#中的类包含方法,相当于C语言中的函数。方法实现操作,而数据实现属性。在对象间传递消息,是通过方法调用实现的。
类可与其他类具有关系。这些关系被称为关联(association)。一组相关的类通常被打包成可复用的组件(component)。
统一建模语言(UML)是目前使用最广泛的、用于建模面向对象系统的图形化表示机制。UML最吸引人的特性之一是其灵活性。UML是可扩展的(extensible),即能够用新的特性进行增强,且它独立于任何特定的OOAD(面向对象的分析与设计 Object-Oriented Analysis and Design, OOAD)过程。
第2章 Visual C# 2008 Express Edition IDE简介
Visual Studio 2008将程序组织成方案(solution),一个方案可包含一个或多个工程。
Novell赞助的一个称为Mono的开源工程,可使开发人员创建Linux、Windows和Mac OS X平台上的.NET程序。Mono基于公共语言基础架构(CLI)的Ecma标准。有关Mono的更多消息,参见www.mono-project.com。
默认情况下,Visual Studio会为新创建的Windows窗体程序工程和方案指定名称WindowsFormsApplication1。
IDE的设计视图也称为Windows窗体设计器(Windows Form Designer)。
Visual C#文件的扩展名为.cs,它是“C Sharp”的缩写。
文件名要符合一定的规则。文件名不能包含某些符号(如?、:、*、<、>、#和%),也不能包含Unicode控制符。而且,文件名不能是系统保留的名称,如CON、PRN、AUX、COMI、单点号(.)或双点号(..),长度也不能超过256个字符。
工程选项卡中的文本“Form1.cs [Design]*”意味着是在可视化地设计窗体,而不是在编程。如果已经编写了代码,则选项卡将只包含文本“Form1.cs”。