




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三层结构在企业中应用,C#-ADV第一章,相关课程回顾 1-1,public void AddStudent() string sql = “INSERT INTO Student(Name,Sex,Age) VALUES (张明,男,18) “; SqlConnection conn = new SqlConnection(“Data Source=.; Initial Catalog=MySchool;User ID=sa;Pwd=123456“); SqlCommand objCommand = new SqlCommand(sql, conn); objCommand.ExecuteNonQuery(); ,conn.Open();,conn.Close();,.NET中实现数据库访问常用的有哪几个类?,相关课程回顾 1-2,面向对象的三大特性是什么?,:下面代码输出的结果是?,class sample1 public static void Main() List list = new List(); list.Add(“ACCP“); list.Add(“BENET“); Console.WriteLine(list1); Console.ReadLine(); ,BENET,就业技能结构图,本门课程目标,学完本门课程后,你能够: 使用三层结构开发项目 体会到使用三层结构开发的优势 使用异常处理与单元测试 使用抽象工厂设计模式,课程项目展示,:MySchoolPro 三层结构最终版演示,:HotelManager演示,预习检查,1、三层结构划分为哪三层? 2、在表示层的主要功能是什么?,本章任务,完成联机考试系统三层结构划分: 表示层 MySchool 业务逻辑层 MySchoolBLL 数据访问层 MySchoolDAL,本章目标,会使用三层结构搭建项目 理解三层结构中每一层的主要功能 理解三层结构中各层之间的逻辑关系,为什么需要三层结构,服务员只管接待客人 厨师只管烹炒客人要的美食 采购员只管按客人需求采购肉,海鲜,蔬菜 他们各负其责共同协作为客人提供美食,顾客,饭店,为什么需要三层结构,离职、请假,其他服 务员代替,离职、请假,离职、请假,其他厨 师代替,其他采 购员代替,为什么需要三层结构,三层结构软件模型,表示层,业务逻辑层,数据访问层,软件 系统,饭店,为什么需要三层结构,回顾我们S1做的联机考试系统,为什么需要三层结构,:登录实现部分(LoginForm类)代码结构,我们从三方面对登录实现部分代码进行分析 1、界面控件数据绑定实现 2、逻辑判断实现 3、数据库访问实现,首先我们看一下界面部分的关键代码,为什么需要三层结构,/ 登录 private void btnLogIn_Click(object sender, EventArgs e) / if (ValidateInput() / 调用用户验证方法 isValidUser = ValidateUser(cboLogInType.Text, txtLogInId.Text, txtLogInPwd.Text, ref message); / 如果是合法用户,显示相应的窗体 / ,界面层实现,为什么需要三层结构,public bool ValidateUser(string loginType, string loginId, string loginPwd, ref string message) int count = 0; / 数据库查询的结果 bool result = false; / 返回值,是否找到该用户 / 查询是否存在匹配的用户名和密码 if (loginType= “管理员“) / 判断管理员用户 /数据访问实现代码. else if (loginType = “学员“) /数据访问实现代码 return result; ,逻辑判 断实现,为什么需要三层结构,public bool ValidateUser(string loginType, string loginId, string loginPwd, ref string message) /. / 查询是否存在匹配的用户名和密码 / 查询用sql语句 string sql = string.Format( “SELECT COUNT(*) FROM Admin WHERE LogInId=0 AND LogInPwd=1“, txtLogInId.Text txtLogInPwd.Text ); /. / 查询用sql语句 string sql = string.Format( “SELECT COUNT(*) FROM Student WHERE LogInId=0 AND LogInPwd=1“,txtLogInId, txtLogInPwd); ,管理员信息数据访问,通过分析我们得到结论是?,学员信息数据访问,为什么需要三层结构,1、数据库访问和用户类型判断逻辑放在一起实现 2、用户界面层直接调用数据访问实现 3、整个系统功能放在同一项目中实现,结论是:,从结论可知,我们开发的两层结构应用系统有哪些局限性?,为什么需要三层结构,我们开发的两层结构有哪些局限性?,难以适应 需求变化,不易维护,安全性差,为什么需要三层结构,两层结构:,当数据库或 用户界面发 生改变时需 要重新开发 整个系统,当数据库或 用户界面发 生改变时不 需要重新开 发,只做简 单调整即可,三层结构:,什么是三层结构,表示层,业务逻辑层,数据访问层,数 据 库,为用户提供 交互操作界面,负责关键业务的 处理和数据传递,实现数 据库访问,服务员,厨师,采购员,什么是三层结构,表示层:,为用户提供一种交互式操作界面,什么是三层结构,业务逻辑层,是表示层与数据访问层之间的桥梁,负责数据处理、传递。,/ switch (type) case “管理员“: loginPwd = GetAdminLoginPwd(loginID); break; case “学员“: loginPwd = GetStudentLoginPwd(loginID); break; /,什么是三层结构,数据访问层,实现对数据的保存和读取操作,/. conn.Open(); SqlDataReader objReader = objCommand.ExecuteReader(); if (objReader.Read() studentlist.Add(objReader“LoginPwd“); studentlist.Add(objReader“UserStateId“); objReader.Dispose(); conn.Close(); /,什么是三层结构,三层之间依赖关系,表示层,业务逻辑层,数据访问层,什么是三层结构,三层之间的数据传递方向,业务逻辑层,数据访问层,表示层,客 户 请 求,客 户 请 求,响 应 数 据,响 应 数 据,小结1,三层结构与两层结构的区别是什么? 业务逻辑层的主要功能是什么? 为什么要实现分层?,如何搭建三层结构,如何搭建表示层、业务逻辑层、数据访问层? 如何实现各层之间的相互依赖?,要掌握这一切,我们将整个实现过程分为以下步骤,搭建三层结构步骤,1、搭建表示层(创建一个Windows应用程序) 2、搭建业务逻辑层(类库) 3、搭建数据访问层(类库) 4、添加各层之间的相互依赖,现在我们打开VS IDE环境逐层搭建三层结构,搭建表示层,2、在弹出的“新建项目“窗口中,选择Windows应用程序,选择 语言 种类,项目类型,创建解决方案,输入项目名称 MySchool,选择项目 生成路径,1、文件 新建 项目 :创建一个新项目,搭建业务逻辑层,2、在弹出的“新建项目”窗口中,选择类库,选择 语言 种类,项目类型,项目名称: MySchoolBLL,选择 项目 路径,选择 “添入解决方案”,1、文件 新建 项目 :创建一个新项目,搭建数据访问层,2、在弹出的“新建项目“窗口中,选择类库,选择 语言 种类,项目类型,项目名称: MySchoolDAL,选择 项目 路径,选择 “添入解决方案”,如何将三层中各自独立
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质保部专业知识培训内容课件
- 2025场监督管理局数字化转型专项信息化服务合同
- 2025版企业员工福利大米团购服务合同范本
- 2025年高空作业吊车租赁合同范例
- 2025年智能住宅区合作开发合同范本
- 2025版服装品牌设计合作合同范本
- 2025年度城市公园环境卫生维护承包合同
- 2025年度机关单位食堂社会化服务合同范本
- 2025年拆迁房买卖合同及搬迁补偿金计算方法协议
- 2025年度房产抵押消费贷款按揭合同范本生活品质提升
- 2025年国家统一司法考试真题及答案
- 绿色矿山培训课件
- 纪念抗美援朝队会课件
- 2025-2026学年人教版(2024)小学数学三年级上册(全册)教学设计(附目录P296)
- 2025广东茂名市信宜市供销合作联社招聘基层供销社负责人2人笔试模拟试题及答案解析
- 医院护理人文关怀实践规范专家共识
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读
- 初二体育课程教学计划及实施
- 2025年山东省临沂市、枣庄市、聊城市、菏泽市、济宁市中考语文试题解读
- 浙江省金华市婺城区2024-2025学年七年级上学期语文期中考试试卷(含答案)
- 2025年10月自考00227公司法真题及答案
评论
0/150
提交评论