- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三层架构在企业级开发中的应用 本章目标 理解三层架构及各层之间的逻辑关系 理解三层架构中每一层的主要功能 掌握使用三层架构搭建项目 为什么需要三层架构 为什么需要三层架构 为什么需要三层架构 两层架构: 为什么需要三层架构 为什么需要三层架构 为什么需要三层架构 什么是三层架构 为什么需要三层架构 什么是三层架构 三层之间的数据传递方向 什么是三层架构 表示层: 什么是三层架构 业务逻辑层 什么是三层架构 数据访问层 什么是三层架构 表示层: 小结1 三层架构与两层架构的区别是什么? 业务逻辑层的主要功能是什么? 为什么要实现分层? .NET下如何搭建三层架构 如何搭建表示层、业务逻辑层、数据访问层? 如何实现各层之间的相互依赖? 搭建三层架构步骤 搭建表示层 搭建业务逻辑层 搭建数据访问层 添加各层之间的相互依赖 课后任务 完成联机考试系统三层架构划分: 表示层 MySchool 业务逻辑层 MySchoolBLL 数据访问层 MySchoolDAL Thank you! 2、在弹出的“新建项目“窗口中,选择Windows应用程序 选择 语言 种类 项目类型 创建解决方案 输入项目名称 MySchool 选择项目 生成路径 1、文件 ? 新建 ? 项目 :创建一个新项目 2、在弹出的“新建项目”窗口中,选择类库 选择 语言 种类 项目类型 项目名称: MySchoolBLL 选择 项目 路径 选择 “添入解决方案” 1、文件 ? 新建 ? 项目 :创建一个新项目 2、在弹出的“新建项目“窗口中,选择类库 选择 语言 种类 项目类型 项目名称: MySchoolDAL 选择 项目 路径 选择 “添入解决方案” 如何将三层中各自独立的项目产生依赖 1、文件 ? 新建 ? 项目 :创建一个新项目 :添加表示层对业务逻辑层依赖 1、右键单击“引用”选择“添加引用” 2、选择“项目”,选中“逻辑层”单击 确定 添加业务逻辑层对数据访问层的依赖与此类似 完成对逻 辑层的引用 通过本章的学习我们将能够: 1、使用三层架构开发项目 2、体会到使用三层架构开发的优势 登录实现部分(LoginForm.cs类)代码架构 我们从三方面对登录实现部分代码进行分析 1、界面控件数据绑定实现 2、逻辑判断实现 3、数据库访问实现 这样的开发方法看起来很好,很自然:思路清晰,架构合理,功能也实现了,这样的开发会有什么问题吗? 1、操作数据库代码与界面代码混合在一起,如果数据库发生改变,即使字段名称的改变,代码的改动都是巨大的 2、不利于协作开发:在这样的开发方法中界面开发工程师必须要对美工、业务逻辑、数据库等各方面知识都非常熟悉 3、目前界面采用的是WinForm的方式完成的,如果要改成Web程序则需要重新编写 这就是我们一直说的两层架构,用户界面层和数据库层 然而企业级的开发是这样的吗?真正的项目开发是这样要求的吗?为了回答这个问题,我们进行一个小的界面开发来说明,我们要开发一个这样的登录窗口,界面已经画好了,我们下一步要做什么?大家思考一下!谁来试着回答一下? 使用两层架构就是将用户的界面设计、逻辑设计、数据访问都集中在一起,这样的方法如果当数据库或用户界面发生改变时需要重新修改编译,甚至重新开发整个系统,事实上我们说的这种改动在实际项目中又是100%会发生的,不断改动的程序会让程序员感觉很烦躁很郁闷,大量的改动确实很可怕,很烦人,那么如何解决这个问题呢?如何满足项目开发的要求呢?怎样才是企业级开发的标准呢? 下面我们先来看一个饭店的例子 (从结论可知,我们开发的两层架构应用系统有哪些局限性?难以适应需求变化、不易维护、安全性差) 备注: 饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。这样的分工有什么好处?在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。 我们用三层架构开发的软件系统于此类似,表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。 讲解要点: 重点强调服务员、厨师、采购员三者中当任何一者发生变化时都不会影响到其他两者的正常工作, 每个角色只专注一项功能可以把工作做得更好,大家说对吧?术业有专攻从而引伸出三层架构各层之间的“高内聚,低耦合”特点。 我们开发的三层架构应用
文档评论(0)