版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章业务的扩展:三层架构回顾与作业点评目前为止我们对软件系统分了几层?分层开发有哪些优点?预习检查三层架构都有哪三层? 中用作事务处理的类是?本章任务完善新增学生的功能实现删除学生的功能 本章目标理解什么是三层架构能够搭建三层架构能够在三层架构下编码业务的扩展如果增加密码加密的功能,加密的代码放在 表示层还是数据访问层?企业中的业务企业审批中不断变化的流程 电子商务网站的折扣策略 由两层到三层 表示层 业务逻辑层 数据访问层 三层的依赖关系 表示层 业务逻辑层 数据访问层 包含实体的三层架构 表示层 业务逻辑层 数据访问层 业务实体实体类在三层中的数据传递 解析实体对象 构建实体对象 返回行
2、集 处理窗体 表示层 表示层后置代码 业务逻辑层 数据访问层 数据库 用户请求 传递参数 展示数据 返回 请求数 据操作 调用SQL命令 返回 解析实体对象 构建实体对象或集合 搭建三层架构搭建三层架构的步骤1、创建数据访问层项目 2、创建业务逻辑层项目3、创建表示层项目4、创建实体项目(可选)5、分别添加三层对实体项目的依赖(可选)6、添加业务逻辑层对数据访问层的依赖7、添加表示层对业务逻辑层的依赖演示示例:搭建三层架构 练习将 MySchool 改成三层架构 需求说明:将 MySchool 改成三层架构,并正确添加依赖 完成时间:30分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共
3、性问题集中讲解业务逻辑层中的编码业务逻辑层中的编码创建业务逻辑类引用数据访问层、业务实体层命名空间实现业务逻辑方法调用数据访问层中的方法实现业务处理代码表示层中的编码表示层中的编码创建WinForms 窗体引用业务逻辑层、业务实体层命名空间实现表示层的方法调用业务逻辑层中的方法实现显示逻辑代码指导新增学生的业务处理3-1 训练要点:在业务逻辑层进行业务处理 需求说明:在添加学生时完成以下业务处理功能给学生登录的密码加密 判断身份证号是否已经存在,如果存在,则不允许添加 讲解需求说明指导新增学生的业务处理3-2 实现思路:在数据访问层:添加方法判断身份证号是否存在 在业务逻辑层添加MD5加密类,
4、实现加密算法实现业务逻辑层方法: 调用数据访问层方法判断学员的存在性,调用加密算法给学员密码加密 在表示层:添加对业务逻辑层方法的调用完成时间:20分钟指导新增学生的业务处理3-3 难点提示:public string GetMD5String(string str) MD5 md5 = new MD5CryptoServiceProvider(); byte data = System.Text.Encoding.Default.GetBytes(newblade); byte md5data = puteHash(data); md5.Clear(); StringBuilder buil
5、der = new StringBuilder(); for (int i = 0; i md5data.Length - 1; i+) Console.WriteLine(md5datai.ToString(); builder.Append(md5datai.ToString(X2); return builder.ToString();MD5 加密方法 练习编制学生准考证号 需求说明:实现生成准考证号的功能考证号的生成规则:月份+日期+年级号+科目号+随机数(1-1000)随机数不满三位从左边起以0补齐 其它不满二位从左边起以0补齐显示生成编号的进度 完成时间:30分钟共性问题集中讲解常
6、见调试问题及解决办法代码规范问题共性问题集中讲解三层架构的扩展-通用层 表示层 业务逻辑层 数据访问层 通用层通用层做什么通用(Common)层用来复用一些软件系统中共用的技术 例如:通用的辅助类和工具方法 数据校验方法缓存处理 加密处理 演示示例:搭建通用层 分层架构小结分层架构的优势分离开发人员的关注无损替换 提高代码的可复用性分层架构的缺点代码量大,实现复杂 的事务处理数据库应用程序 提供了事务处理功能 通过 SqlTransaction 对象执行事务处理使用 事务的步骤创建一个SqlTransaction对象,标志事务开始1将SqlTransaction 对象分配给 mand 的 Tr
7、ansaction 属性23调用相应的方法执行 mand命令调用 SqlTransaction 的 Commit() 方法完成事务;调用 Rollback() 方法终止事务4使用 事务使用事务的代码SqlTransaction trans = null;SqlConnection con = new SqlConnection(connString); try con.Open(); trans = con.BeginTransaction(); mand cmd = new mand(); /.省略代码 cmd.Transaction = trans; cmd.ExecuteNonQuery
8、(); mit();catch trans.Rollback();finally conn.Close(); 开始事务提交事务回滚事务演示示例:使用事务删除学生 练习使用事务删除学生 需求说明:使用 事务删除学生首先删除学生成绩,然后删除学生如果任何一步操作失败,自动回滚完成时间:30分钟指导调用存储过程事务删除学生2-1 训练要点:使用存储过程事务需求说明:使用 调用存储过程删除学生在存储过程中使用事务处理语句首先删除学生成绩,然后删除学生如果任何一步操作失败,自动回滚指导调用存储过程事务删除学生2-2 实现思路:编写带事务的存储过程使用 调用存储过程完成时间:20分钟BEGIN TRAN IF ERROR0 BEGIN ROLLBACK TRAN return ENDCOMMIT TRANT-SQL事务处理代码 共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江省肇东市高一化学上册期末考试真题及参考答案(达标题)
- 2025年云南省宣威市高三历史上册期末考试测试卷附参考答案(B卷)
- 洞口县2025-2026学年数学三下期中学业水平测试模拟试题(含答案)
- 泰安市2025届四年级数学下学期期中调研模拟试题(含答案解析)
- 味精原料粉碎工安全检查水平考核试卷含答案
- 饲草种子繁育工安全文化能力考核试卷含答案
- 附着升降脚手架安装拆卸工安全行为知识考核试卷含答案
- 甲酸装置操作工道德强化考核试卷含答案
- 玻璃钢制品拉挤工安全行为能力考核试卷含答案
- 蒸呢机挡车工变更管理竞赛考核试卷含答案
- AQ3067-2026重大事故隐患判定准则专项培训考核试卷-答案卷
- 【应用方案】2026智慧农业农业机器人智能感知与精准作业一体化设计方案
- 2026事业单位笔试-云南-云南财务(医疗招聘)历年参考题库含答案详解
- 《计算政治学概论》课件 第1-8章 计算政治学的起源与发展-数字社会治理
- CSCO非小细胞肺癌诊疗指南(2026版)
- 2025湖南长沙矿山研究院发布校招招聘52人笔试历年典型考点题库附带答案详解
- 压缩空气储能地下洞库施工方案
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 自密实混凝土施工方法及浇筑管控要点
- 冻品食材配送服务方案
- 电力重大事故隐患判定与治理监督规定(2026版)深度解读课件
评论
0/150
提交评论