2.2 多层架构
2.2.1 多层架构的组成
一般说来,多层结构对两层结构进行扩展,分为客户层,中间层和数据存储层。
客户层实现系统与客户的交互功能,提供用户请求和呈现处理结果的界面。
数据存储层主要是管理、存储系统需要的各种数据。
中间层是客户层和数据存储层的桥梁,一般从功能上可以再分为以下三层:
表示层即所谓Web层,处理用户界面。当表现层的客户需要计算或进行数据存取的时候,便产生一个调用传给中间业务逻辑层,整个业务处理的结果最后回传给表示层。真正展现给用户的部分,主要有两种方式:一种是胖客户端,另一种是瘦客户端。瘦客户端仅仅需要客户计算机上安装有浏览器软件,通过网络就可以完成业务操作;胖客户端要求在客户计算机上安装相关的客户端软件,用来进行信息的显示和录入等。
业务逻辑层用于实现业务逻辑以及事务规则处理。开发的业务应用构件存放于应用服务器上,接收表示层的业务调用,同时通过数据访问层对各种数据源进行访问。是所有业务逻辑模块的集合,其中实用类库、多语言库、公用中间件集、实用工具等部分也属于该层。
数据访问层为业务逻辑层提供数据服务,屏蔽数据源的差异。因此,无论是什么样的数据库,还是什么格式的文件,对于业务逻辑层来说,访问是完全一样的。业务逻辑层需要经常访问数据层,但是如果由业务逻辑层管理数据库的连接及数据访问,将会有很多重复的代码出现,分散开发人员和文护人员的精力。所以,将业务层中的数据存储部分独立出来,作为单独的一个逻辑层,业务逻辑层就不需要关心数据库的类型及存放位置,使用通用接口访问即可。
2.2.2 多层架构的优势
分层式结构究竟其优势何在?Martin Fowler在文献[8]中给出了答案:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。
松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。对异种数据库或数据源的支持性高。
2.3 本章小结
本章通过了解系统架构的发展历程,从单层结构到两层结构再到现在主要应用的多层架构,重点分析了多层架构的组成和相应的优势,为本课题的研究奠定了理论基础。
3 开发环境与开发技术
在本课题研究中,重点需要研究了解的技术有.NET Framework、面向对象、C#、ASP.NET[9]、ADO.NET、SQL Server 数据库。 基于.net的企业级系统架构的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_5917.html