C#具有C++所没有的一个优势就是学习简单。该语言首要的目标就是简单。在C#中,没有C++中流行的指针。默认地,所有的工作都放在受管理的代码中、在那里不允许如直接存取内存等不安全的操作。在C++中,有“::”、 “.”和“_>”操作符,它们用于命名空间、成员和引用。对于新手来说,操作符至今仍是学习的一道难关。C#弃用其他操作符,仅使用单个操作符“.”。
不必记住基于不同处理器架构的隐含的类型,甚至各种整型的变化范围。C#使用统一的类型系统,摒弃了C++多变的类型系统。这种系统允许程序员把各种类型作为一个对象,查看它是一个原始类型还是一个full-blown类。
投入学C#的努力是一笔大投资,因为C#是为编写NGWS(Next Generation Windows Service)应用程序的主要语言而设计。将会发现很多自己用C++可以实现或者很费力实现的功能,在C#中不过是一部分基本的功能而己。对于企业级的编程语言来说,新增的金融数据类型很受欢迎。程序员用到了一种新的十进制数据类型,它专用于金融计算方面。如果不喜欢这种现成简单的类型.根据应用程序的特殊需求,可以很容易地创建出新的一种数据类型。
前面已经提到,指针不再是程序员编程武器的一部分。全面的内存管理已经不是程序员的任务。运行时NGWS提供了一个垃圾收集器,负责C#程序中的内存管理。因内存和应用程序都受到管理,所以很必要增强类型安全,以确保应用的稳定性。
对于C++程序员,异常处理的确不是新的东西,但它是C#的主要功能。C#的异常处理与C++的不同点在于它是交叉语言的(运行时的另一个功能)。在没有C#之前,如果出现异常情况,必须由编程处理所有异常。但现在由于使用了基于异常的健壮的出错处理,己能处理大部分异常情况了。
大多数应用程序都需要某种形式的数据访问。如果要创建新的应用程序,有三种极好的数据访问方式可供选择:ADO.NET、ADO和OLE DB。如果需要修改现有应用程序的数据访问方式,为了便于文护,可以继续使用该应用程序的数据访问技术。但是,如果希望应用程序有较长的生命周期,则应考虑重新设计以对托管应用程序使用ADO.NET或对本机应用程序使用ADO。从长远来看,较新的数据访问技术通常能减少开发时间,简化代码并提供良好的性能。
2.2.4 三层C/S构架
(1) 三层C/S结构的介绍
C/S(Client/Server)模型也叫C/S模式,它是在分散式、集中式以及分布式的基础上发展起来的一种心的模型,目前的大多数网络通信及应用都属于这种模型。C/S模型将一个网络事务处理分为两部分,一部分是客户端(Client),它为用户提供向网络请求服务的接口;另一部分是服务器端(Server),它负责接受用户对服务的要求,并将这些服务透明地提供给用户。
传统的C/S结构一般分为两部分:客户端和服务器端(如图 2.1所示)。三层C/S结构有3个基本部分组成:客户机,服务器和中间件(如图 2.2所示)。
图 2.1传统的C/S结构图
图 2.2三层C/S结构图
客户机:1.管理用户接口。2.从用户接受数据。3.处理应用逻辑。4.产生数据库请求。5.向服务器发送数据库请求。6.从服务器接受结果并格式化结果。
服务器:1.从客户机接受数据请求。2.处理数据请求。3.格式化结果并传送给客户机。4.执行完整性检查5.提供并行访问控制。6.事务处理失败后,执行事务恢复。7.优化查询和更新处理。
中间件:中间件保证了网络中各部件之间透明地连接,即隐藏网络部件的异构性,尤其保证不同网络、不同服务器、不同访问语言的透明性,即下面三个透明性:1.网络透明性。2.服务器透明性。3.语言透明性。 C#网络计费与监控系统的设计与实现+流程图(8):http://www.youerw.com/jisuanji/lunwen_2332.html