初识三层

来源:互联网 发布:渐飞研究报告行业数据 编辑:程序博客网 时间:2024/05/21 09:33

        由于进度比较慢,所以总是听小伙伴们说三层,到今天才慢慢的接触到。对于大家说的解耦和分层的思想,有了一点感触。

        根据视频中讲的,我进行了总结:


一、两层和三层结构

                                   

       简单的说,客户端程序访问服务器的结构叫两层结构。中间加一个事务逻辑处理封装的中间件作为沟通就是三层结构,这样可以均衡数据负载。三层在安全性、稳定性及大量并发控制上要强于两层的,它不会让客户端直接面对数据库,所有减少了由于客户端被破解而给数据库带来损失的风险,并且可以比较妥善的解决多用户并发带来的服务器拥挤,但是在客户端比较少的情况下,它访问数据的速度要慢于两层结构的。


         二、多层结构的划分

        结构的划分有两种,分别是物理上和逻辑上。从物理的角度说,可以分为显示层、业务层和数据层。从逻辑角度说,分为UI层、BLL+DAL层、DB层。我们所说的三层是逻辑上的三层。看名称以为物理角度和逻辑角度分出来的三层是一样的,后来才知道,物理角度是从计算机的硬件方面来划分,分别位于客户机、应用服务器、数据库服务器上,这是三台计算机,而逻辑上的三层是在一台计算机上包括显示层、业务逻辑层、数据访问层。

 

        三、为什么要使用三层

        首先我们要知道,层次结构在现实社会中随处可见。记得有个笑话讲有个村长得意的向他的老婆吹牛:“全中国比我官大的只有四个人,乡长、县长、省长和国务院总理”,这个笑话体现了真实社会的分层现象,社会人群会分层,公司管理人员结构也会分层。我们知道在整个程序中,最基本的就是“高内聚,低耦合”的思想。我们将程序分层,各层之间不会相互影响,等到出现问题的时候,我们可以分层去检查,大大提高了效率。

 

        四、分层的优缺点

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

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

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

                   4、有利于标准化;

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

        缺点:1、因为我们把程序分层了,所以用户不能直接访问数据库,获得数据,而是通过中间层去访问数据,从而降低了系统的运行性能。

                   2、有时会导致级联的修改。如果在表示层中需要增加一个功能,为保证其设计符合分层结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

                   3、增加了开发成本。

 

        五、三层使用情况

        一句话:当业务复杂到一定程度时,当数据存储到相应的数据库或数据存储介质。

        下面我们来详细的介绍三层:

        DAL(数据访问层)

        作用:

                1、  从数据源加载数据(select)

                2、  向数据源写入数据(Insert/Update)

                3、  从数据源删除数据(Delete)

        原则:

               只提供基本的数据访问,不包含任何业务相关的逻辑处理。

                                                                                                                                      

        UI(显示层)

        作用:

                1. 向用户展现特定业务数据

                2.  采集用户的输入信息和操作

         原则:

                用户至上,兼顾简洁,只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。

 

         BLL(业务逻辑层)

         作用:

                1、体现核心价值的部分,关注点集中在业务规则的制定、业务流程的实现等与业务系统有关的系统设计。

                2、处于访问层和表示层中间,起到了数据交换中承上启下的作用。

          原则:

                负责处理业务逻辑、通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交个DAL处理、处理完成后,返回必要数据给UI。

 

          六、引用原则:

                               1、  DAL不引用BLL和UI

                               2、  BLL引用DAL

                               3、  UI直接引用BLL,简介引用DAL

                               4、  UI、DAL和BLL 都要引用Model

 

下面用一张图来表示视频的大概内容:



总结:我们在学习过程中首先要有一个理论上的认识,然后再实践过程中进行深入了解,只有自己动手了,遇到问题,解决问题了,才算真正的吸收了。GO!!!


0 0
原创粉丝点击