企业级开发中搭建三层架构理论.ppt

上传人:牧羊曲112 文档编号:5222257 上传时间:2023-06-15 格式:PPT 页数:36 大小:3.04MB
返回 下载 相关 举报
企业级开发中搭建三层架构理论.ppt_第1页
第1页 / 共36页
企业级开发中搭建三层架构理论.ppt_第2页
第2页 / 共36页
企业级开发中搭建三层架构理论.ppt_第3页
第3页 / 共36页
企业级开发中搭建三层架构理论.ppt_第4页
第4页 / 共36页
企业级开发中搭建三层架构理论.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《企业级开发中搭建三层架构理论.ppt》由会员分享,可在线阅读,更多相关《企业级开发中搭建三层架构理论.ppt(36页珍藏版)》请在三一办公上搜索。

1、第一章 企业级开发中搭建三层架构,课程地位,课程目标,学习内容三层架构的原理使用实体类对象在三层架构之间传递数据实现高效的数据访问层特性、序列化和反序列化、反射Windows服务异常处理和单元测试学习目标能够搭建三层架构的系统能够创建高效的数据访问层能够使用实体类对象在三层架构之间传递数据能够使用系统提供的特性,并自定义特性能够使用序列化保存对象状态,使用反序列化构建对象能够使用反射动态调用方法能够创建和监视Windows服务能够使用VSTS工具进行单元测试实战项目综合项目:固定资产管理系统,本章内容,理解三层架构的优点三层架构中各层之间的逻辑关系和各自功能使用三层架构搭建项目使用DataSe

2、t作为业务实体,本章目标,能够使用三层架构搭建项目框架能够使用DataSet在三层间传递数据,1.三层架构概述,现实生活中的肉类食品加工厂的场景,这样做有什么好处呢?,1.1 为什么需要三层架构?,为什么需要三层架构?,顾客到商场购买肉食品商场负责接待购买肉食品的顾客商场从食品加工工厂批量购入食品食品加工厂为商场提供肉食品食品加工厂从屠宰场获取原材料兔子在场负责提供原材料给食品加工厂,食品加工企业将整个企业业务分为三部分来实现,这样做的好处是:其中一个环节发生变化,不会影响到整个企业的业务,只需要其他环节略微变化即可,为什么需要三层架构?,没有使用三层架构时的用户登录:,private voi

3、d btnLogin_Click(object sender,EventArgs e)if(InputValidate()/输入验证通过 string message=;if(UserValidate(txtUsername.Text.Trim(),txtPassword.Text.Trim(),ref message)/登录成功 else/登录失败 MessageBox.Show(message);,为什么需要三层架构?,用户要求添加身份认证:,业务逻辑改变以后,会带来什么问题?,private void btnLogin_Click(object sender,EventArgs e)if

4、(InputValidate()/输入验证通过 string message=;/方法调用多传递了一个参数 if(UserValidate(txtUsername.Text.Trim(),txtPassword.Text.Trim(),cboRole.Text.Trim(),ref message)/登录成功 else MessageBox.Show(message);,1.2 三层架构是什么?,三层架构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。,三层架构包含:表现层(UI):UserInterface数据访问层(DAL):Data Acce

5、ss Layer业务逻辑层(BLL):Business Logic Layer,三层架构是什么?,优点一:不必为了业务逻辑上的微小变化而导致整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程优点二:增强了代码的可重用性优点三:便于不同层次的开发人员之间的合作,三层架构的优点:,三层架构是什么?,表现层(UI):主要实现和用户的交互业务逻辑层(BLL):用于对上下交互的数据进行逻辑处理数据访问层(DAL):用于实现与数据库的交互和访问,将业务实体与业务方法分离,作为一个单独的层,将一些会重用的方法封装在独立的类里,使代码重用性更强,三层架构各层的功能:,1.3 三层架构各层之间的关系,表

6、示层,业务逻辑层,数据访问层,各层之间存在依赖关系:表现层依赖业务逻辑层,业务逻辑层依赖于数据访问层,三层架构各层之间的关系,表现层将用户的请求发送给业务逻辑层,业务逻辑层通过数据访问层来处理数据,然后接受到数据访问层处理的数据,再通过一定的业务规则处理返回给用户,三层架构的数据流向,小结1,回顾前面的食品加工厂案例,说出食品加工厂在三层架构里位于哪一层?三层架构一定是三个项目吗?,2.如何搭建三层架构?,创建表现层,创建数据操作层,创建业务逻辑层,创建业务实体,建立依赖关系,搭建三层架构有五个步骤,2.1 创建表现层,先创建一个空白解决方案,创建表现层,在解决方案里添加一个WinForm程序

7、:WinUI,2.2 创建数据操作层,在解决方案里添加一个C#类库项目:SqlServerDAL,2.3 创建业务逻辑层,在解决方案里添加一个C#类库项目:BLL,2.4 建立业务实体,在解决方案里添加一个C#类库项目:Model,2.5 建立三层之间的依赖关系,表现层(UI),依赖于,业务逻辑层(BLL),依赖于,数据访问层(DAL),业务实体(Model),依赖于,依赖于,依赖于,建立三层之间的依赖关系,右键Model项目,点“生成”。生成成功以后,右键SqlServerDAL项目下的“引用”,选择“添加引用”命令,添加引用后的效果,建立三层之间的依赖关系,为业务逻辑层添加对于数据访问层的

8、依赖。,建立三层之间的依赖关系,思考:数据访问层主要是用来访问数据库并且得到数据,那么保存数据的方式有很多种,比如保存到DataReader中,保存进DataSet中,保存进List中等,你要把数据保存进哪里呢?如果界面层显示数据用ListView控件,那么你的数据访问层用什么来保存数据更方便?如果界面层显示数据用DataGridView控件,那么你的数据访问层用什么来保存数据更方便?,建立三层之间的依赖关系,三层架构里表现层可以直接引用数据操作层吗?三层架构里允许重复引用吗?,小结2,三层架构包含哪三层?三层架构各层之间如何依赖?搭建三层架构的步骤是哪几步?,3.使用DataSet在三层之间

9、传递数据,实体对象的类型,DataSet,Entity Class,如何三层架构里使用DataSet传递数据,创建数据访问层的方法,填充DataSet,创建业务逻辑方法获取DataSet的方法,得到DataSet对象,表现层里通过业务逻辑层的业务方法获取DataSet对象,呈现给用户。,如何三层架构里使用DataSet传递数据,3.1 创建数据访问层的方法,public class CustomerDAL SqlConnection connection=new SqlConnection(server=.;database=CRM;uid=sa;pwd=180705);public Data

10、Set GetAllCustomers()DataSet dsCust=new DataSet();SqlDataAdapter daCust=new SqlDataAdapter(select*from Customers,connection);daCust.Fill(dsCust,Customers);return dsCust;,数据访问层里添加的数据访问方法,返回DataSet,配置文件使用,一般程序在升级时有可能会更改连接数据库的字符串,在不修改源代码的原则下可以使用配置文件来定义连接数据库的字符串,具体步骤如下:在UI层添加新建项,在弹出的选择框选择应用程序配置文件在配置文件中,

11、有规定好了的节点,那么我们在节点中添加子节点,在ConnectionStrings节点中添加,这样如果程序升级我们只需要改变url的值即可在DAL层添加引用.net中的System configuration在DBHelper中导入命名空间System.Configuration,获取URL的代码为:String url=ConfigurationManager.ConnectionStrings“url的名字.ToString();关于DBHelper的设计可以让URL是静态的变量,那么DBHelper也是静态的类,在该类的静态构造方法中为静态变量赋值,3.2 创建业务逻辑层的方法,publ

12、ic class CustomerBLL/数据访问类的实例 CustomerDAL cust=new CustomerDAL();/业务逻辑方法,通过调用数据访问层的数据访问方法获取所有客户的/信息 public DataSet GetCustomers()return cust.GetAllCustomers();,业务逻辑层里添加的业务方法,获取数据访问层里返回的DataSet,并将传递给表现层,3.3 表现层获取数据,private void CustomerFrm_Load(object sender,EventArgs e)CustomerBLL cust=new CustomerB

13、LL();/业务逻辑类的实例DataSet dsCust=cust.GetCustomers();/调用业务逻辑类的方法/结果在DataGridView显示dgvCustomer.DataSource=dsCust.Tables0;,小结3,DataSet作为业务对象在三层里每一层之间传递数据,所以每一层里都需要引入命名空间System.Data业务逻辑层通过调用数据访问层的方法获取DataSet对象,依靠的是业务逻辑层对于数据访问层的依赖(引用),本章总结,三层架构的三层指的是:表现层、数据操作层、业务逻辑层。三层架构中各层的依赖关系式:表现层依赖业务逻辑层,业务逻辑层依赖数据访问层,业务实体在各层之间传递。搭建三层架构的步骤是:创建表现层创建数据操作层创建业务逻辑层创建模型层(业务实体)创建各层之间的依赖关系通过DataSet对象在三层之间传递数据,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号