一、三层架构简述
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。 来源:https://blog.csdn.net/weixin_46561196/article/details/115101840 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |