三层是什么

来源:互联网 发布:java windows api 编辑:程序博客网 时间:2024/05/21 10:24

一、前言

接触面向对象设计已经有一段段时间了,给人最大的感受就是面向对象的便利,其中的解耦让人最为印象深刻,可以说这是面向对象中的很重要的一个知识。最近接触了三层结构,其实这也和面向对象的知识紧密相连。下面就让我们进入三层的世界,看看三层是怎样体现面向对象思想的。


二、内容

(一)、什么是分层:

分层表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于底层,分层从逻辑上将子系统划分成许多集合,而层间关系的形成要遵循一定的规则,通过分层,可以限制子系统的依赖关系,使得系统已更松散的方式耦合,从而更易于维护。注意:各子系统只能与同一层及其下一层的子系统存在依赖关系。

(二)、使用分层架构开发的必要性:

1、分层设计允许你分割功能进入不同区域,换句话说层在设计上就是逻辑组件的分组,例如,A层可以访问B层,但是B层不可以访问A层。

2、用分层的方法 ,以提高应用程序的可维护性,并是其更容易扩展,以提高性能。

(三)、三层内容

一直说三层,那么到底三层到包含写啥呢?三层由下至上分为数据访问层(DAL)、业务逻辑层(BLL)、表示层(UI)。如图:


他们的主要内容分别是:

(1)、表示层(UI):展现给用户的界面,及用户在使用一个系统的时候他所见所得,依据应用规模的不同,所承受的负荷会有较大的差异,另外客户      端的数目,应用的复杂程度都会对其造成一定的影响。

(2)、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。接收用户的指令或者数据输入,提交给应用层            处理,同时负责将衣物逻辑层的处理结果显示给用户,相比传统的应用方式,业务层对硬件的资源要求较低。

(3)、数据访问层(DAL):本层所做事务直接操作数据库,针对数据的增、删、改、查等操作。存储数据的数据库服务器和处理数据和缓存数据的组      件,组件将大量使用的数据放入系统的缓存库,以提高数据访问和处理的效率。

注意:业务逻辑层(BLL)是整个三层的核心内容,分层的原理就是在客户端和数据库之间加一个“中间层”,对数据的访问起到一个承上启下的作用,两            者的访问都是通过中间层进行的,不能直接联系。

(四)、三者之间的关系

显示层(UI):部署控件后,调用业务逻辑层(BLL)的类。实现功能

业务逻辑层类(BLL):调用相关的数据访问类,返回给UI层实现用户需求

数据访问层:(DAL):根据业务逻辑层(BLL)的需求直接访问数据库,实现基本操作,返回给业务逻辑层。


(五)、三层的优缺点:

优点:1、开发人员可以只关注整个结构中的其中某一层

    2、可以很容易的用新的实现来替换原有层次的实现

    3、可以降低层与层之间的依赖

    4、有利于标准化

    5、有利于各层逻辑的复用

缺点:1、降低了系统的性能,如果不采用分层是结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

    2、有时会导致级联的修改,这种修改尤其体现在自上而下的方向,如果表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要相应的业务逻辑和数据访问层中间都增加相应的代码


三、总结

无论是什么样的设计方式,都没有绝对的好用和绝对的不足,咱们要做的就是根据实际情况选择适合的方式。这就是


原创粉丝点击