三层架构之理论:

通常意义上讲的三层架构就是将整个项目应用划分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL)。
与传统的二层架构的区别在于在用户界面(UI)和数据库服务器之间,添加中间层。而中间层又可
划分为业务逻辑层(BLL),数据访问层(DAL)和数据对象模型层(Model)。其中的数据对象模型层(Model)可
以把表当做一个对象来处理,充分体现了面向对象的思想。三层架构因为"高内聚,低耦合"的特性,更利于

系统的设计和开发,同时为可能的变更提供了更小的单元,有利于系统的维护和扩展。

分层式结构究竟其优势何在?Martin Fowler在《Patterns of Enterprise Application Architecture》一书中给出了答案:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。

概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。

1.表现层(UI):主要提供软件系统与用户交互的接口界面,实现和用户的交互,接收用户请求或返回用户请求的数据结果展现。
2.业务逻辑层(BLL):业务逻辑层起到承上启下的作用,用于对上下交互的数据进行处理和传递。 ,实现业务目标。
3.数据访问层(DAL):数据访问包括访问数据库系统、二进制文件、文本文档或是 XML 文档。该层负责直接操纵数据库,针对数据表的Select,Insert,Update,Delete的操作。

简单来说就是:UI层调用BLL,BLL调用DAL,数据用Model进行传递,Model为各层之间架起了数据传输的桥梁。
参考模型:UI<-->Model<-->BLL<-->Model<-->DAL

Asp.Net之三层架构-LMLPHP

4 业务实体Model:用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。

5 通用类库Common:通用的辅助工具类,如数据校验、缓存处理、加解密处理等。为了让各个层之间复用,也单独分离出来,作为独立的模块使用。

 

三层架构如图:

Asp.Net之三层架构-LMLPHP

TIPS:

1.

三层架构是设计思想,它的形式可以使class,文件夹,工程...,如果未来追求形式,混淆了内容和功能上的根本区别,就是本末倒置了。

参考文献:

常用的三层架构设计:http://www.uml.org.cn/zjjs/200911192.asp

软件开发过程中三层架构的解析和搭建 :http://www.xxxtgc.com/data/attachment/image/thumbnails/200912/2009122215484989.pdf

ASP.NET开发数据库三层架构系统初探:https://app.yinxiang.com/shard/s18/res/81217de3-7856-494b-a05a-a3a8a094d7d7/ASP%EF%BC%8ENET%E5%BC%80%E5%8F%91%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%89%E5%B1%82%E6%9E%B6%E6%9E%84%E7%B3%BB%E7%BB%9F%E5%88%9D%E6%8E%A2.pdf

ADO.NET:http://202.38.64.11/~shizhu/DotNet/ADO.pdf
DataTable,DataView 和 DataGrid:http://read.pudn.com/downloads94/ebook/379198/DataTable,DataView.pdf

05-08 15:51