三层基础知识梳理
来源:互联网 发布:南京江宁教育网络问政 编辑:程序博客网 时间:2024/05/23 14:07
在没学习三层之前,我的“今目标”中的项目名称是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基础知识梳理
- Unity3D基础知识梳理<转>
- Unity3D基础知识梳理
- 编程基础知识梳理
- 黑马程序员-基础知识梳理
- Unity3D基础知识梳理
- Unity3D基础知识梳理
- Unity3D基础知识梳理
- C语言基础知识梳理
- 网络基础知识梳理
- Unity3D基础知识梳理
- javascript基础知识梳理-对象
- 音频播放初步认识
- C++中const的使用
- NSURLSession
- Java操作HBase表入门
- 【2011集训队出题】圈地计划
- 三层基础知识梳理
- Android - Acitivty生命周期 理解
- 摘录 Multiple View Geometry in Computer Vision preface
- 快速排序
- Uva11292 The Dragon of Loowater
- HDOJ 2149 Public Sale 【巴什博弈】
- Python爬虫——爬取网站的图片
- 大数据下union all的视图分页解决方案
- lightoj 1026 - Critical Links 【DFS求块 + 边双连通求桥】