浅析三层架构

1、  什么是三层

         所谓三层架构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

         通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

         表现层(UI):通俗讲就是展现给用户的界面,向用户展现特定业务数据,采集用户的输入信息和操作。

         业务逻辑层(BLL):负责关键业务的处理和数据的传递。从DAL中获得数据,以供UI显示,从UI中获得用户指令和数据,执行业务逻辑,从UI中获取用户指令和数据,通过DAL写物数据源。

         数据访问层(DAL):和数据打交道,只关注数据的操作(Select、Insert/Update、Delete)。

         三层之间有存在非常强的依赖关系

                                                                            浅析三层架构_第1张图片

         2、  为什么要使用三层

         背景

         以前的按功能模块一般是几个人将项目的功能模块一分,每个人从操作数据库、完成业务逻辑到实现界面都要独自完成,当然数据库的设计是由一个人完成。

         弊病

         首先每个开发人都需要掌握大部分技术,还要有很强的业务逻辑的理解能力,其次每个人的开发习惯都不同,形成的代码繁杂可读性差,最后后期的完善、维护都会造成麻烦。

         原因

         将软件开发分层,其实可以简单的理解为工种分层、规范代码,基本可以将工作分为界面设计人员、业务实现人员、数据库设计人员。

         界面设计人员的工作就是制作程序界面然后将信息提交给业务层,不需要考虑业务层的逻辑关系,业务实现人员的工作是处理界面提交的数据请求完成逻辑流程,再结合数据访问层,不用考虑界面设计的样式、风格,也不用考虑数据库的格式,数据访问层一般是设计完善的架构系统,基本不需要人员工作,主要是屏蔽掉数据库间的差异,为业务层提供便捷的操作功能,数据库设计人员就是设计、规划数据库。

         很显然一个团队采用多层开发就可以合理的分配人员工作,将每个人放置到适合的岗位上,而主要的技术人员集中在关键部位的开发工作,重复简单的劳动,如画界面就可以安排给新手来完成。

         3、  什么情况下需要三层

         对于一个简单的应用程序来说,代码量不是很多的情况下,一层结构或二层结构开发完全够用,没有必要将其复杂化,如果对一个复杂的大型系统,设计为一层结构或二层结构开发,那么这样的设计存在很严重缺陷,这时我们就需要用到三层架构了。

         4、  结语

         刚刚接触到三层还没有具体的应用,博文中的一些理论知识也大多来自前辈们智慧的结晶,在接下来的机房收费系统中需要好好实践一下,同时之前学习过的设计模式也可以得到很好的历练。

                                                                                      浅析三层架构_第2张图片


你可能感兴趣的:(架构,三层)