崇文书城图书管理系统(软件)设计思想
三层程序设计之浅见
指导导师:饶志凌 设计:邓支晓
沈 舟
许文婷
程序分层的目的:隔离、解耦合
程序分层的优点:安全性、可维护性、扩展性等
一. 三层结构概述
1. 多层结构的划分方式:物理/逻辑(我只重点说逻辑上的划分UI/BLL/DAL/DB)
① 、物理上的划分:显示层/业务逻辑层、数据层
(客户机PC;应用服务器;数据库服务器)
理解为硬件上的划分。
② 、逻辑上的划分:UI/BLL+DAL/DB
2. 两层结构
3. 三层结构
① 、为什么要使用三层架构?什么情况下使用三层架构?
简析:简单的说是因为有了复杂的业务逻辑,数据存取到了一定的存取
介质,将数据访问脱离业务单独存在。将业务脱离开UI单独存
存在。
二. 必备的基础知识
① 、WINDOWS FORM或ASP.NET基础
② 、ADO.NET基础
③ 、C# 基础
④ 、面对对象的程序开发
⑤ 、程序集Assembly、命名空间Namespace等
三. 显示层View/UI
① 、UI的作用
1. 向用户展现特定的业务数据
2. 采集用户的输入信息和操作
② 、UI的设计原则
用户至上,兼顾简洁
③ 、UI中常用的技术
1. Windows Form: Form 、Control
2. ASP.NET:aspx、ascx、msater、html
四. 业务逻辑层BLL(Business Logic Layer)
① BLL的作用
1. 从DAL中获取数据,以供UI显示用
2. 从UI中获取用户指令和数据,执行业务逻辑
3. 从UI从中获取用户指令和数据,通过DAL写入数据源(数据库)
② 、BLL的访问职责机制
1. UIàBLLàUI
2. UIàBLLàDALàBLLàUI
五. 数据访问层DAL(Data Access Layer)
① 、DAL的作用
3. 从数据源中加载数据(select)
4. 向数据源中写入数据(insert、update)
5. 从数据源中删除数据(delect)
② 、DAL中常用的技术
1. ADO.NET+SQL语句
2. O/RMapping框架NHiberate
3. 访问SQL Server数据库时Linq to SQL
六.具体应用-------原则
①、DAL只是提供基本的数据访问,不包含任何业务相关的逻辑处理。
③ UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。
④ 、BLL负责处理业务逻辑。通过获取UI传来的指令,决定执行业务的逻辑,
在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据
给UI。
⑤ DAL/BLL/UI分别在不同的程序集中
⑥ 各个层之间的引用关系
UIàBLLàDAL
1. DAL所在程序集不引用BLL和UI。
2. BLL需要引用DAL。
3. UI直接引用BLL,可以会间接引用DAL。