三层基础知识梳理

原创 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。

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

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

相关文章推荐

三层结构基础知识

最近对于三层结构进行了理解与学习,将自己对于三层的一些基础知识点的总结和大家分享一下。...

【三层架构】——基础知识

导言:        三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分法。 三层架构将数据层、应用层和业务层分离,业务层通过应用层访问数据...

Java基础知识梳理

  • 2014年07月01日 17:41
  • 142KB
  • 下载

基础知识梳理2——凸优化与半定规划(…

凸优化: Minimize      f(x) Subject to   x∈C                                  (2.1)        f是一个凸函数...

C++基础知识梳理

  • 2012年06月03日 07:46
  • 302KB
  • 下载

javascript基础知识梳理-DOM

DOM操作 window.onload = function() { //查询文档的一个或多个元素有如下方法,用指定的id属性,name属性,标签名称,css类,css选择器 //使用id...

Hash-哈希/散列 基础知识梳理

字典的两种描述方法:跳表和散列(hash) 限制适用范围:有序数组 采用散列技术将记录存储在一块连续的存储空间中,这块连续的存储空间爱你被称为散列表或者哈希表。 散列技术是在记录的存储位置和他的关键字...

Unity3D基础知识梳理

基本框架体系美术部分美术主要内容: 3d模型 材质 纹理(贴图) shader(着色器),Unity本身拥有几十种shader,也可以根据自己的需要使用shaderLab语言来编写shader 贴图...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三层基础知识梳理
举报原因:
原因补充:

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