在项目开发的过程中,有时把整个项目分为三层架构,其中包括:表示层
(UI)、业务逻辑层
(BLL)和数据访问层(DAL)。
.Net 三层架构解析系列文章:
步步为营
.NET 三层架构解析之数据库设计
.NET 三层架构解析之 SQLHelper 设计
.NET 三层架构解析之 Model 四种设计方式
在项目开发的过程中,有时把整个项目分为三层架构,其中包括:表示层
(UI)、业务逻
辑层
(BLL)和数据访问层(DAL)。三层的作用分别如下:
表示层:为用户提供交互操作界面,这一点不论是对于
Web 还是 WinForm 都是如此,
就是用户界面操作。我们网站展示给用户看的界面。
业务逻辑层:负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数
据验证都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。
数据访问层:见名知意,负责数据库数据的访问。主要为业务逻辑层提供数据,根据传
入的值来操作数据库,增、删、改或者其它。
以下我简单介绍下一个用户管理模块
:
为了整个项目的开发方便,我们在项目中会建几个类库
SQLHelper,BLL,DAL,Model
和一个
Web 网站。为了命名清晰,我们可以这样命名这个三个工程(即在解决方案里添加的
类库
):
业务逻辑层
(BusinessLogicLayer):BLL,命名空间默认设置为 BLL
数据访问层
(DataAccessLayer):DAL,命名空间默认设置为 DAL
SQL 帮助类:SQLHelper,命名空间默认设置为 SQLHelper
另外我们为了数据传递的方便,通常再添加一个类库,这个类库是贯穿于整个三层架
构中的。即实体类。通常命名为
Model,命名空间默认值设置为:Models。其中封装的每个类
都对应一个实体,通常就是数据库中的一个表。如数据库中的用户表
(custom)封装为
(custom),将表中的每个字段都封装成共有的属性。
这样三层架构的搭建就基本完成了。这三层有着非常强的依赖关系:
表示层
← 业务逻辑层 ← 数据访问层
他们之间的数据传递是双向的,并且通常借助实体类传递数据。
那么三层架构都有哪些优点呢:
1、易于项目的修改和维护。在项目的开发过程中或者开发后的升级过程中,甚至在项
目的移植过程中。这种三层架构是非常方便的。比如项目从
Web 移植到 Form,我们只需要
将表示层重新做一遍就可以了。其余两层不用改动,只需添加到现有项目就可以了。如果不
采用这种架构,只是将代码写到表示层。那么所有的编码几乎都要重新来了。
2、易于扩展。在功能的扩展上同样如此,如有功能的添加只需把原有的类库添加方法
就可了
3、易于代码的重用。这一点就不用解释了。
4、易于分工协作开
还可以加个接口类库
Iinterface, 加入设计模式,使你的代码灵活性更好,质量更高。