.net三层架构详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UI设计的原则
用户至上,兼顾简洁
显示层
业务逻辑层
BLL的作用
从DAL中获取数据,以供UI显示用 从UI中获取用户指令和数据,执行业务逻辑 从UI中获取用户指令和数据,通过DAL写入数据源
BLL的职责机制
UI->BLL->UI UI->BLL->DAL->BLL->UI
具体应用——原则
DAL只提供基本的数据访问,不包含任何业 务相关的逻辑处理;
三层结构概述
逻辑上划分 VS 物理上划分
物理:显示层/业务层/数据层 逻辑:UI/BLL+DAL/DB
我们讨论的三层结构: UI、BLL、DAL、DB
三层结构概述
程序分层的目的:
隔离/解耦合
程序分层的优点:
性能/安全性/可维护性/扩展性
为什么要使ຫໍສະໝຸດ Baidu三层架构? 什么情况下需要使用?
应用场景
数据访问层
DAL的作用
从数据源加载数据(Select) 向数据源写入数据(Insert / Update) 从数据源删除数据(Delete)
DAL中常用的技术
ADO.NET + SQL语句 O/R Mapping框架 NHiberate 访问SQL Server数据库时Linq to SQL
UI的作用
向用户展现特定业务数据 采集用户的输入信息和操作
UI -> BLL -> DAL
DAL所在程序集不引用BLL和UI BLL需要引用DAL UI直接引用BLL,可能会间接引用DAL
一个Windows Form项目
通过一个实际的Windows应用程序说明如何搭建 三层架构
三层结构程序设计
三层结构概述 显示层View/UI 业务逻辑层BLL(Business Logic Layer) 数据访问层DAL(Data Access Layer) 在具体项目中的应用
多层结构的划分方式:物理/逻辑 两层/三层结构 物理上的三层:显示层/业务层/数据层 (客户PC;应用服务器;数据库服务器)
UI只负责显示和采集用户操作,不包含任 何的业务相关的逻辑处理;
BLL负责处理业务逻辑。通过获取UI传来的 操作指令,决定执行业务逻辑,在需要访 问数据源的时候直接交给DAL处理。处理完 成后,返回必要数据给UI。
具体应用——Assembly
DAL/BLL/UI分别在不同的程序集中 各个层之间的引用关系
用户至上,兼顾简洁
显示层
业务逻辑层
BLL的作用
从DAL中获取数据,以供UI显示用 从UI中获取用户指令和数据,执行业务逻辑 从UI中获取用户指令和数据,通过DAL写入数据源
BLL的职责机制
UI->BLL->UI UI->BLL->DAL->BLL->UI
具体应用——原则
DAL只提供基本的数据访问,不包含任何业 务相关的逻辑处理;
三层结构概述
逻辑上划分 VS 物理上划分
物理:显示层/业务层/数据层 逻辑:UI/BLL+DAL/DB
我们讨论的三层结构: UI、BLL、DAL、DB
三层结构概述
程序分层的目的:
隔离/解耦合
程序分层的优点:
性能/安全性/可维护性/扩展性
为什么要使ຫໍສະໝຸດ Baidu三层架构? 什么情况下需要使用?
应用场景
数据访问层
DAL的作用
从数据源加载数据(Select) 向数据源写入数据(Insert / Update) 从数据源删除数据(Delete)
DAL中常用的技术
ADO.NET + SQL语句 O/R Mapping框架 NHiberate 访问SQL Server数据库时Linq to SQL
UI的作用
向用户展现特定业务数据 采集用户的输入信息和操作
UI -> BLL -> DAL
DAL所在程序集不引用BLL和UI BLL需要引用DAL UI直接引用BLL,可能会间接引用DAL
一个Windows Form项目
通过一个实际的Windows应用程序说明如何搭建 三层架构
三层结构程序设计
三层结构概述 显示层View/UI 业务逻辑层BLL(Business Logic Layer) 数据访问层DAL(Data Access Layer) 在具体项目中的应用
多层结构的划分方式:物理/逻辑 两层/三层结构 物理上的三层:显示层/业务层/数据层 (客户PC;应用服务器;数据库服务器)
UI只负责显示和采集用户操作,不包含任 何的业务相关的逻辑处理;
BLL负责处理业务逻辑。通过获取UI传来的 操作指令,决定执行业务逻辑,在需要访 问数据源的时候直接交给DAL处理。处理完 成后,返回必要数据给UI。
具体应用——Assembly
DAL/BLL/UI分别在不同的程序集中 各个层之间的引用关系