ASP.Net三层架构

一、三层架构简述


文章目录

  • 一、三层架构简述
  • 1、三层架构的概念
  • 2、三层架构的组成
  • 3、三层架构的优势
  • 二、模型层
  • 三、数据访问层
  • 四、业务逻辑层
  • 五、表现层


1、三层架构的概念

(1)生活场景:
A、班级管理:班级中有不同的班委、各个班委有不同的岗位和职责,所有
的班委对班级的管理方式和态度决定了班级最终的形态和成果。
B、企业管理:企业中有不同的部门、各个部门有不同的业务和职责、所有
的部门对企业工作态度决定了企业最终的形态和成果。
(2)项目层面:
就是使用三个(多个)项目结合起来开发出一个应用系统。下层项目为上层项
目提供了接口(说白了就是可以从上层类访问下层类的方法),并且将结果返回
到上层。


提示:以下是本篇文章正文内容,下面案例可供参考

2、三层架构的组成

Asp.net站点的设计开发中,通常采用三层架构的设计,三层架构包括:数据访问层-DAL、业务逻辑层-BLL、表现层-UI。

(1)数据访问层–DAL
A、概念:封装了所有与数据库的交互操作。数据交互包括增、删、改、查
数据访问层就针对每个数据表提供增、删、改、查操作,不做业务逻辑的判断。
B、应用:类似于企业中的财务部门、只做薪酬的发放,不做企业员工绩效
的审核。
(2)业务逻辑层–BLL
A、概念:封装了所有与业务的交互操作,对业务具体问题进行逻辑判断与
执行操作。业务操作形式包括业务场景判定、业务执行条件管理、业务执行结果
封装。
B、应用:类似于于企业中技术部、市场部的管理者对下属员工的工作进行
评审。
(3)表现层–UI
A、概念:表现层又称作UI层,位于三层架构的最上层,与用户直接沟通。
换句话说表现层就是实现用户界面功能,将用户的需求传达和反馈、保证用户的
体验。
B、应用:类似于企业中各个员工最终在工资卡上当月发放的薪水金额。

3、三层架构的优势

(1)适应变化、利于维护:项目需求往往随市场的变化而发生变化,三层架构通过将各功
能模块分离,提高了项目的可维护性和代码的可重用性。
(2)适用于协作开发。目前,多数项目是团队多人协作开发的,有的负责界面设计,有的
负责数据库操作模块,三层架构将各个功能模块分离,各自负责各层的模块,有利于协作
开发。
(3)主流趋势,越来越多的企业在开发项目时采用三层架构作为项目的基础架构。三层架
构在将来会有更多的市场


二、模型层

1、模型层概念
模型层是三层(DAL数据访问层、BLL业务逻辑层、UI表现层)的连接工具,是数据库和应用程序之间数据相互连接和传输的媒介,三层之间通过传输实体类对象来实现通信。

2、模型层命名
(1)常见的命名方式有Model、Models或解决方案+Model的格式命名。
(2)模型层是单个C#类库项目,模型层中的实体类和数据表相互对应。

3、实体类结构
(1)实体类的编写只需对应数据表字段编写出实体类的属性即可。
(2)除了构造方法,实体类通常不包括其他方法。
(3)由于实体类对象作为层之间数据通信的载体,常需要在不同的场景下行类型转换,可以使用 Serializable 特性标识实体类为可序列化,以便转换实体类对象。

4、实体类编写

[Serializable]
2 public class User
3 {
4 public int Id { get; set; }
5
6 public string Name { get; set; }
7
8 public string Phone { get; set; }
9
10 public int RoleId { get; set; }
11
12 public int ClassId { get; set; }
13
14
15 public User(int id, string name, string phone, int roleId, int
classId)
16 {
17 Id = id;
18 Name = name;
19 Phone = phone;
20 RoleId = roleId;
21 ClassId = classId;
22     }
23 }

三、数据访问层

1、数据访问层命名
(1)数据访问层以DAL命名或以解决方案名称+DAL的格式命名。
(2)数据库中的每张表,在数据访问层都有相对应的数据访问类。

2、数据访问层编写

数据新增
2 public static bool AddUser(User user){
3 //数据库操作
4 }
5 数据修改
6 public static bool UpdateUser(User user){
7 //数据库操作
8 }
9 数据删除
10 public static bool DeleteUser(int Id){
11 //数据库操作
12 }
13 数据查询
14 public static bool FindAllUser(){
15 //数据库操作
16 }
17 数据查询‐指定条件
18 public static bool FindAllUserBy条件(条件参数){
19 //数据库操作
20 }

四、业务逻辑层

1、业务逻辑层命名

(1)业务逻辑层通常命名为BLL或解决方案+BLL的格式命名
(2)每个实体类在业务逻辑层有对应的业务逻辑类,类的格式为实体类名称+Manager。

2、业务逻辑层编写

数据新增 public static bool AddUser(User user){
3 //DAL层调用
4 }
5 数据修改
6 public static bool UpdateUser(User user){
7 //DAL层调用
8 }
9 数据删除
10 public static bool DeleteUser(int Id){
11 //DAL层调用
12 }
13 数据查询
14 public static bool FindAllUser(){
15 //DAL层调用
16 }
17 数据查询‐指定条件
18 public static bool FindAllUserBy条件(条件参数){
19 //DAL层调用
20 }

五、表现层

1、表现层命名
(1)表现层通常命名为解决方案名称+Web或解决方案+UI的格式命名
(2)每个实体类在业务逻辑层有对应的业务逻辑类,类的格式为实体类名称+Manager。

你可能感兴趣的:(笔记,c#,asp.net)