三层基础知识梳理

原创 2015年11月18日 20:42:41

在没学习三层之前,我的“今目标”中的项目名称是MVC分层。有一段时间我搞不清这两个是什么概念,有何不同,我找了一些资料,现在还不能很好地理解。先分享一下。

三层架构是界面层(UI)、业务逻辑层(BLL)、数据访问层(DAL)构成的,而MVC是模型层(M)、界面层(View)、控制层(Controller)构成的,而且它们之间也不对应。如果硬要给他们对应的话,那么三层架构中的UI对应MVC中的view(jsp),都是用于显示以及获取界面的数据;三层架构中的BLL层和DAL层对应MVC中的Model(javabean)层都是用于处理上层传递来的数据以及从数据库获取的数据的;MVC中的Controller(Servlet)最多算是三层架构中的UI的一部分,也就我们常说的是Servlet。如图:

这两者核心的部分是“分层,解耦”。从这个角度看,三层架构和MVC又是一致的,只不过划分方法不同。

下面是我对三层基本知识的梳理。

1:每一层是什么以及有什么作用。

U层(显示层---User Interface):向用户展现特定业务数据,采集用户的输入信息和操作。

B层(业务逻辑层---Business Logic Layer):从DAL中获取数据,以供UI显示用;从UI中获取用户指令和数据,执行业务逻辑;从UI中获取用户指令和数据,通过DAL写入数据源。B层的职责机制有两种:一种是UI--->BLL--->UI;另一种为UI--->BLL--->DAL---BLL--->UI.

D层(数据访问层---Data Access Layer):从数据源加载数据;向数据源写入数据;从数据源删除数据。这里的数据源不一定是数据库,还可以是XML。

此外:还有一个业务数据模型,比较倾向于业务逻辑层。封装数据。在三层之间传送数据的。独立于其他三个层次。model不会引用其他三个程序集。而其他都引用model。

2.在具体项目中的应用原则:

U层:只负责采集和显示用户操作,不包含任何的业务相关的逻辑处理。

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

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

3.各层的引用关系:

UI--->BLL--->DAL

UI直接引用BLL,可能会间接地引用DAL;BLL需要引用DAL;DAL程序集不引用BLL和UI。

当然要想真正的明白,还需要在实践中练习。实例练习请见下一篇博客。

版权声明:本文为博主原创文章,未经博主允许不得转载。

三层基础知识梳理

在没学习三层之前,我的“今目标”中的项目名称是MVC分层。有一段时间我搞不清这两个是什么概念,有何不同,我找了一些资料,现在还不能很好地理解。先分享一下。 三层架构是界面层(UI)、业务逻辑层(BL...
  • wangyajin333
  • wangyajin333
  • 2013年08月08日 20:30
  • 844

网页制作基础知识整理1(课堂笔记)

今天在网上听得课,记录的笔记,整理如下: 1:标签里主要写的是当前页面的字体,采用的协议以及具体的属性。 2:强制换行标签: 强制分段标签: 分隔线: 橘色的分隔线: 3:排版标签:文字置左、置...
  • u010062194
  • u010062194
  • 2014年01月10日 23:11
  • 704

计算机网络基础知识整理(一)

1 IP地址的四大类型?IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。全0和全1的都保留不用。 A类:第一个字节为网络号,后三个字节为主机号。该类IP地址的最前面为”0”,地址...
  • mengdai1991
  • mengdai1991
  • 2015年07月04日 14:39
  • 6323

OC基础知识点的总结(全),学习OC的日记

类的方法 1.在加号方法中不能使用实例变量,实例变量是依托于对象存在的只有有了对象,实例变量才会有空间 2.self 谁调用该方法,self就代表谁 当方法是一个减号方法时, 调用该方法的对象是...
  • u010774394
  • u010774394
  • 2014年08月17日 23:12
  • 1237

IP基础知识梳理

离开学校后看书少了很多,发现掌握的IP知识不是很牢,所以在这里也稍稍梳理下,感觉语言也没书本上详尽——完全是笔记形式,望读者勿喷TCP/IPIP层——网络层也叫Internet层,负责将分组报文从源端...
  • xiaoyao3857
  • xiaoyao3857
  • 2015年12月27日 21:54
  • 765

【三层架构】——知识梳理

三层架构是什么 三层架构(3-tier architecture)通常意义上就是将整个业务应用划分为:显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的主要是为了“高内聚低耦...
  • u010293698
  • u010293698
  • 2014年08月15日 11:41
  • 928

maven基本知识整理

1. 基本功能和用途maven是 一个项目管理和构建自动化的工具,相比于ant,maven不需要写复杂的脚本,采用声明式的类库依赖管理。可以完成项目构建,比如生成war,打包jar;可以生成项目文档,...
  • xiongjiezk
  • xiongjiezk
  • 2015年12月06日 02:58
  • 700

基础知识梳理

基础知识梳理: 1.apply、call、bind区别 都为了改变this指向 apply传值为数组 call传值为参数序列 apply 、 call 、bind 三者都是用来改变函数的th...
  • blue1011372655
  • blue1011372655
  • 2017年02月15日 18:23
  • 126

【基础html5 基础知识点】(全)

新增的结构标签 section元素  表示页面中的一个内容区块,比如章节、页眉、页脚或页面的其他部分。可以和h1、 h2……等元素结合起来使用,表示文档结构。例:HTML5中……;HTML4中 ……...
  • kongjiea
  • kongjiea
  • 2014年08月16日 15:33
  • 12696

【三层架构】入门知识梳理

1.什么是三层?   三层架构(3-tierarchitecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层  (BLL)、数据访问层(DAL)。   ...
  • yudandan10
  • yudandan10
  • 2013年04月14日 16:51
  • 3540
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三层基础知识梳理
举报原因:
原因补充:

(最多只允许输入30个字)