文档介绍:B/S模式下的三层架构模式
摘要:随着软件行业的发展,软件系统的开发效率越来越重要, 尤其是大中型的项目中,迫切需要三层架构的分层开发思想。三 层架构能带来的是软件开发效率的提高,程序员的工作变得更具 创造性,同时纷杂的程序代码也将变得安(Select)、添加(Insert)、更新(Update)、删除(Delete)
等的操作。
三层之间的关系:业务逻辑层通过访问数据库操作层提供的 接口来访问数据库操作层,同样的数据库操作层则通过访问数据 库访问层提供的接口来访问数据库访问层,而在客户端我们则通 口,去调用派生类的方法和属性,三层之间相互调用。
完整的三层架构如图1所示。
为了更好地理解三层架构,我们就拿养猪来示例。图2是 三层架构化的养猪产业流水线趣味对此图。
对比图1与图2,我们可以看出:
数据库好比猪圈,所有的猪有序地按区域或编号,存放在 不同的猪栏里。
DAL好比是屠宰场,把猪从猪圈取出来进行(处理)屠杀, 按要求取出相应的部位(字段),或者进行归类整理(统计),形 成整箱的猪肉(数据集),传送给食品加工厂(BLL)。本来这 里都是同一伙人既管抓猪,又管杀猪的,后来觉得效率太低了, 就让一部分人出来专管抓猪了(DBUtility),根据要求来抓取指 定的猪。
BLL好比食品加工厂,将猪肉深加工成各种可以食用的食
品(业务处理)。
Web好比商场,将食品包装成漂亮的可以销售的产品,展 现给顾客(UI表现层)。
猪肉好比Model ,无论是哪个厂(层),各个环节传递的本 质都是猪肉,猪肉贯穿整个过程。
通用类库Common相当于工人使用的各种工具,为各个厂 (层)提供诸如杀猪刀、绳子、剪刀、包装箱、工具车等共用的 常用工具(类)。其实,每个部门本来是可以自己制作自己的工 具的,但是那样会使效率变低,而且也不专业,并且很多工作都 会是重复的。因此,专门有人开了这样的工厂来制作这些工具, 提供给各个工厂,有了这样的分工,工厂就可以专心做自己的事 情了。当然,这里只是形象比喻,目的是为了让大家更好地理解, 实际的情况在细节上会有所不同。这个例子也只是说明了从猪圈 到商场的单向过程,而实际三层开发中的数据交互是双向的,可 取可存。
3三层架构的优缺点
三层架构优势如下:①开发人员可以只关注整个结构中的其 中某一层;②可以很容易地用新的实现来替换原有层次的实现; ③可以降低层与层之间的依赖;④有利于标准化;⑤利于各层逻 辑的复用。
三层架构式设计可以达至如下目的:分散关注、松散耦合、 逻辑复用、标准定义。从开发角度和应用角度来看,三层架构比 双层或单层结构都有更大优势。三层结构适合群体开发,每人可
以有不同分工,协同工作使效率倍增。开发双层或单层应用时, 每个开发人员都应对系统有较深的理解,能力要求很高,开发三 层应用时,则可以结合多方面的人才,只需少数人对系统全面了 解,从一定程度上降低了开发的难度。另三层架构的最大优点是 它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口 点,把很多危险的系统功能都屏蔽了。而且三层架构还可以支持 如下功能:Remote Access(远程访问资料),例如可透过Internet 存取远程数据库;High Perform