浅谈三层

来源:互联网 发布:成都java 编辑:程序博客网 时间:2024/05/18 02:11
     三层,顾名思义,三个层次,在软件系统中把系统分为表示层(U),逻辑层(B),数据层(D)
     我们先聊一聊为什么要给系统分层。历史:在很久之前软件系统很小,数据量不大,一般直接开发就行,
不用分层的,但是随着计算机的发展,用户越来越多,数据量越来越大,不分层的系统暴露出来很多问题,难
维护难移植,难扩展等等,三层就营运而生了。软件的开发用三层的思想可以很好的实现对系统解耦,很大程
度上解决了原来暴露出的问题,再后来就是在三层的基础上发展出来了七层,但是这里重点聊三层。话说回来
这三层为什么这样分,都有什么作用呢?
  一、三层
     表示层(U):用户使用的界面主要是数据的输入和显示
     数据层(D):对数据库中数据的进行增删改查操作
     逻辑层(B):介于U层和D层之间,对数据的交互有承上启下的作用,它既要处理表示层传入的数据并传给D
  层,还要把D层处理好的数据返回到U层,所以说B层是整个系统的精华所在
     分层的主要原因就是为了分工合作便于开发,将用户与数据分离,避免直接对数据的操作
  二、剖析
     三层可不仅仅是这么简单的,下面来深入分析一下
     1.关系
三层之间的关系是向下依赖的,底层对于顶层来说是无知的,如下的调用关系
U->B->D
一般是上层调用下层的方法
     2.数据传送
最简单的是增删改操作:U->B->D
复杂一点的是查操作:
U->B->D->B->D
从数据传送中也可以很明显的看出B层是U层和D层交互的中介
举个例子:U层需要数据库中的数据,它不会直接从数据库取数据,通过三层取数据的过程是,U层输
      入指令,传递给B层,经过B层的逻辑处理,再调用D层的方法,D层的方法中存有对数据库操作的方法,
      D层取到数据后在通过B层传递给U层
     3.区分
U层:数据的输入和显示
B层:对输入数据的处理和传出数据,包含的逻辑比较多
D层:主要是对数据库中数据的操作,没有太多的逻辑
     4.实体类
在三层中起到数据获取和传送的是Model(实体类),它主要是吧数据库中的各个字段映射为属性
U层、B层和D层都要引用实体类,这样才可以得到实体中的属性值
  三、三层优缺点
     a.优点:1.结构明确;2.系统耦合性低;3.有利于各层代码的复用;4.更易于维护;5.分工实现,高效
     b.缺点:1.性能降低,某些业务本来可以直接访问数据获得,现在却要经过中间层
             2.增加系统开发的成本
             3.造成级联,如果表示层要增加功能,那么有可能要修改逻辑层和数据层
  四、扩展
     MVC 'VS' 三层
     MVC是Model-View-Control三者组合而成
Model作用:处理数据的逻辑部分
View:用户看到的界面,和用户交互
Control:从View接收数据,控制用户数据,并向数据模型发送数据
     乍看起来,MVC和三层一样,其实严格来说MVC三部分组合起来才是三层中的表示层,是对U层的细分
  
   小结:
      现在才是刚刚接触三层,随着以后的学习,我们会学习到更多三层的知识
      这一阶段B/S的学习让我们积累了很多的,下一步是实践了,要好好利用积累的东西
                                             
1 0
原创粉丝点击