三层架构之优缺点

上传人:子 文档编号:41837757 上传时间:2018-05-31 格式:DOC 页数:4 大小:25KB
返回 下载 相关 举报
三层架构之优缺点_第1页
第1页 / 共4页
三层架构之优缺点_第2页
第2页 / 共4页
三层架构之优缺点_第3页
第3页 / 共4页
三层架构之优缺点_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《三层架构之优缺点》由会员分享,可在线阅读,更多相关《三层架构之优缺点(4页珍藏版)》请在金锄头文库上搜索。

1、三层架构之优缺点三层架构之优缺点三层架构之优缺点三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI) 、业务逻辑层(BLL) 、数据访问层(DAL) 。区分层次的目的即为了“高内聚,低耦合“的思想。、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。注:(内聚:一个模块内各个元素彼此结合的紧密程度;耦合:一个软件结构内不同

2、模块之间互连程度的度量)优缺点优点:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。6、扩展性强。不同层负责不同的层面,如 PetShop 可经过简单的配置实现 Sqlserver 和 oracle 之间的转换,当然写好了也可以实现B/S 与 C/S 之间的转换7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。8、项目结构更清楚,分工更明确,有利于后期的维护和升级缺点:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务

3、可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码3、增加了代码量,增加了工作量三层架构是:一:界面层界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户不用看到不必要的机密信息。二:逻辑层逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。三:数据层数据层定义、维护数据的完整性、安全性,它

4、响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如 Oracle 、Sybase、MS SQl Server 等。-从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的 CPU 就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。三层架构的另一个优点在于可以

5、更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级 CPU 有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。另外三层架构还可以支持如下功能:Remote Access(远程访问资料),例如可透过 Internet 存取远程数据库;High Performance(提升运算效率)解决集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机的运算负担,降低数据库主机的 Connection Load,并可藉由增加 App Serv

6、er 处理众多的数据处理要求,这一点跟前面讲到的分布式计算提高运算能力是一个道理;Client 端发出Request(工作要求)后,便可离线,交由 App Server 和 DataBase Server 共同把工作完成,减少 Client 端的等待时间;这个功能我觉得应用场合不是很多,自己感受也不是很深刻,从理论上是成立的。小项目,以后变动不大的不用三层架构。ASP.NET 三层结构说明完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说.不同的应用有不同的理解,这只是一个概念的问题理解

7、ASP.NET 三层结构为什么要分三层?我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。需要说明一下,三层结构不是.NET 的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值。对于表的综合查询方法是:先对主表查询,调用主表所对应的 DL。再根据主表的记录分别对每一个子表进行查询。将自表的查询结果添加的主表后,形成一个大的查询集合。对于表的操作(增删改):此时只对主表进行操作,调用主表对应的 DL 中的操作方法。RL 层是逻辑判断层,主要是对页面上传入的数据进行逻辑判断。RL层之上就是 UI

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号