何为三层架构程序设计?
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。通用三层结构软件模型如下图所示。
用户界面层(User Interface,简称UI),中间层通常包括业务逻辑层(Business Logic Layer,简称BLL)、数据访问层(Database Access Layer,简称DAL)和数据对象模型层(Database Object Model Layer,简称DOM)。此时的三层结构软件模型如下图所示。
用户界面层(UI),也称表示层,位于最上层,用于显示和接收用户提交的数据,为用户提供交互式的界面。表示层一般为Windows窗体应用程序或Web应用程序。
业务逻辑层(BLL)是表示层和数据访问层之间沟通的桥梁,主要负责数据的传递和处理。
数据访问层(DAL)主要实现对数据的读取、保存和更新等操作。
数据对象模型层(DOM)即业务实体层。主要用于表示数据存储的持久对象。在实际应用程序中的实体类是跟数据库中的表相对应的,也就是说一个表会有一个对应的实体类。当然有些三层结构并不包含单独的数据对象模型层,而将其功能分解到业务逻辑层和数据访问层之中。
在三层结构中,表示层直接依赖于业务逻辑层;业务逻辑层直接依赖于数据访问层;数据访问层直接依赖于数据对象模型层。
物理上划分:显示层、业务层、数据层
逻辑上划分:UI、BLL、DAL
三层架构程序设计的作用
显示层(UI)
UI的作用
向用户展现特定业务数据
采集用户的输入信息和操作
UI设计的原则
用户至上,兼顾简洁
UI中常用的技术
WindowsForm:Form、Control
ASP.NET:aspx、ascx、master、html
UI的主要任务
显示和接收用户提交的数据
为用户提供交互式的界面
业务逻辑层(BLL)
BLL的作用
从DAL中获取数据,以供UI显示用
从UI中获取用户指令和数据,执行业务逻辑
从UI中获取用户指令和数据,通过DAL写入数据源
BLL的职责机制
UI->BLL->UI
UI->BLL->DAL->BLL->UI
BLL的主要任务
进行系统内部的逻辑整合
建立起表示层和数据访问层之间沟通的桥梁
主要负责数据的传递和处理
数据访问层(DAL)
DAL的作用
从数据源加载数据(Select)
向数据源写入数据(Insert/Update)
从数据源删除数据(Delete)
DAL中常用的技术
ADO.NET+SQL语句
O/R Mapping框架
访问SQL Server数据库时Ling to SQL
DAL的主要任务
实现对数据的读取、保存和更新等操作。
三层结构程序设计具体应用原则
三层结构主要体现出对程序分而治之的思想
UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理
BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问的数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。
DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理