初识三层
2016-02-13 09:09
225 查看
多层的划分一般为物理上和逻辑上的。通常所说的三层就是物理上的显示层、业务逻辑层和数据层。在逻辑中对应名称为UI、BLL+DAl、DB
三层的简单介绍
DAL(Data Access Layer)数据访问层 创建类库
作用:
1.从数据源加载数据(select)
2.向数据源写入数据(Insert/Update)
3.从数据源中删除数据(Delete)
注意:括号中是以数据库为代表,而作用全部针对数据源,因为数据源不仅仅出于数据库。
总结:DAL就是与数据源打交道,对数据进行读写删除的操作,并存到数据库中,而不对其进行任何修改,修改的任务交给外部。
UI(User Interface)显示层 创建Windows Form
作用:
1.向用户展现特定业务数据
2.采集用户的输入信息和操作
UI设计的原则
用户至上,兼顾简洁
UI中常用的技术
Windows Form:Form、Control
ASP.NET:aspx、ascx、master、html
注意:数据模型(Model)为了避免三层之间互相应用,通常使用业务数据模型来传输数据。:
独立于三层,用来封装数据,在三层之间传输流通。上传下泵 在UI中使用,建立类,连接上层的数据库和业务逻辑层。
总结:UI层就是满足用户的界面显示,用户需要简单直观的图或者复杂花哨的界面,都应尽量满足,但其不对数据进行操作,不能跟数据源打交道。
BLL(Business Logic Layer)业务逻辑层 创建类库
作用:
1.从DAL中获取数据,以供UI显示用
2.从UI中获取用户指令和数据,执行业务逻辑
3.从UI中获取用户指令和数据,通过DAL写入数据源
BLL的职责机制:
UI->BLL->UI
UI->BLL->DAL->BLL->UI
需要引用DAL
整体总结:
三层结构各层职责分明相互独立。
DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理;
UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理;“拿来主义”
BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。
具体应用——Assembly
1.DAL/BLL/UI分别在不同的程序集中
2.各个层之间的引用关系
UI -> BLL -> DAL
DAL所在程序集不引用BLL和UI
BLL需要引用DAL
UI直接引用BLL,可能会间接引用DAL
三层的简单介绍
DAL(Data Access Layer)数据访问层 创建类库
作用:
1.从数据源加载数据(select)
2.向数据源写入数据(Insert/Update)
3.从数据源中删除数据(Delete)
注意:括号中是以数据库为代表,而作用全部针对数据源,因为数据源不仅仅出于数据库。
总结:DAL就是与数据源打交道,对数据进行读写删除的操作,并存到数据库中,而不对其进行任何修改,修改的任务交给外部。
UI(User Interface)显示层 创建Windows Form
作用:
1.向用户展现特定业务数据
2.采集用户的输入信息和操作
UI设计的原则
用户至上,兼顾简洁
UI中常用的技术
Windows Form:Form、Control
ASP.NET:aspx、ascx、master、html
注意:数据模型(Model)为了避免三层之间互相应用,通常使用业务数据模型来传输数据。:
独立于三层,用来封装数据,在三层之间传输流通。上传下泵 在UI中使用,建立类,连接上层的数据库和业务逻辑层。
总结:UI层就是满足用户的界面显示,用户需要简单直观的图或者复杂花哨的界面,都应尽量满足,但其不对数据进行操作,不能跟数据源打交道。
BLL(Business Logic Layer)业务逻辑层 创建类库
作用:
1.从DAL中获取数据,以供UI显示用
2.从UI中获取用户指令和数据,执行业务逻辑
3.从UI中获取用户指令和数据,通过DAL写入数据源
BLL的职责机制:
UI->BLL->UI
UI->BLL->DAL->BLL->UI
需要引用DAL
整体总结:
三层结构各层职责分明相互独立。
DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理;
UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理;“拿来主义”
BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。
具体应用——Assembly
1.DAL/BLL/UI分别在不同的程序集中
2.各个层之间的引用关系
UI -> BLL -> DAL
DAL所在程序集不引用BLL和UI
BLL需要引用DAL
UI直接引用BLL,可能会间接引用DAL
相关文章推荐
- C. Graph and String
- Hadoop 求最大值 最小值 BiggestSmallest
- gcc -I -L -l区别
- Hadoop 求平均值 Average
- Android开发学习之路-回调实现Service向activity传递数据
- 写一个函数,输入一个二叉树,树中每一个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
- umask Function
- UVA10817 - Headmaster's Headache
- 删除数组值
- 有限自动机与语法推导树
- 创业的第一百一十九天
- 运维人员要学Python的原因
- Git的使用教程(四)查看日志和版本回退
- Android中Handler的进阶使用方式
- 从零开始山寨Caffe·零:必先利其器
- how to install cmake-gui on ubuntu
- [4, Hard, C++] Median of Two Sorted Arrays
- 广度优先搜索(bfs)的学习
- 文法和正规式
- SourceForge 关闭受争议的广告捆绑功能