软件工程-三层架构

软件工程-三层架构

ID:19968146

大小:25.00 KB

页数:4页

时间:2018-10-08

软件工程-三层架构_第1页
软件工程-三层架构_第2页
软件工程-三层架构_第3页
软件工程-三层架构_第4页
资源描述:

《软件工程-三层架构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程-三层架构软件工程-三层架构2008年03月03日星期一14:40三层架构,数据层(DAL)、逻辑层(BLL)、表示层(UI);三层结构的优点分层式结构究竟其优势何在?MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一书中给出了答案:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。一个

2、好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显

3、。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。如果是一个考试系统,考试合格的最低分数线要改,只需要修改业务逻辑相对应函数就可以了,只要此函数的入口参数和返回内容不变,在客户端不需作任何改动。在这里,看到了面向对象编程的特性之一封装性的优点,而这一点在开发大型应用时尤其有用,可以把开发人员分成两组,一组负责开发界面层,另一组负责开发商业逻辑层,双方只要按照事先

4、商定的函数接口,并行地开发就可以,而不必向从前那样,后面的工作必须等前面的工作完成后才能开始。当然,这样的开发模式需要很好的项目协调和文档作支持。如果现在用的系统是SQLSERVER数据库,由于各种原因要更改用ORACLE。如果不是三层结构系统的话,可能需要改很多代码,延长了开发周期。现在使用了三层结构,只要在加一个Oracle的数据访问层。这样就可以实现多数据库了。现在可能要做另外一个系统了,该系统也要对数据库进行操作。如果以前编写过,这样的一个数据层。只要把以前写的那个数据层拷贝过来就可以了。实现代码复用。从而减短了软件的开发周期了。三层结构的缺点

5、“金无足赤,人无完人”,分层式结构也不可避免具有一些缺陷:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。基于组件的三层B/S结构概述在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表

6、示层。三层结构原理3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。表示层位于最外层(最上层),离用户最近。用

7、于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面业务逻辑层业务逻辑层(BusinessLogicLayer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱EricEvans,对业务

8、逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。