- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三层理论知识及实践
主要讲8点内容
引人:
我们以前些的代码存在的问题:
操作数据库的代码和界面代码混合在一起,如数据库发生变化,代码改动大;
客户要求更换界面,改动巨大;
不利于协作开发。做用户界面的工程师对业务和数据库都必须要熟悉。
1、为什么需要三层结构
饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。
强调服务员、厨师、采购员三者中当任何一者发生变化时都不会影响到其他两者的正常工作,从而引伸出三层结构各层之间的“高内聚,低耦合”特点。比如:电脑。
为了解决上述问题:考虑采用分层的方式进行处理。将不同功能的代码放到项目的不同层中。分层的方案很多,其中影响最大也最成熟的就是三层结构。
我们用三层结构开发的软件系统于此类似,表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。
从饭店场景引出软件系统中的三层结构模型。
2、什么是三层结构
数据访问层
实现对数据的保存和读取操作 ??????? 数据访问层执行从数据库(或其他数据服务)获取数据或向数据库发送数据的功能。写SQL语句的地方。??? “数据访问”层:??????(1)从“业务逻辑”层接收请求,从“数据服务”获取数据或向其发送数据。??????(2)使用SQL语言或存储过程获取数据,并可选用 ADO.NET 向数据库发送数据。????? (3)将数据库查询结果返回到“业务逻辑”层,作为ADO.NET 数据集。?
业务逻辑层
是表示层与数据访问层之间的桥梁,负责数据处理、传递。
业务逻辑层包含业务对象本身以及应用于它们的规则。这也是主要业务对象所在的位置。它们实现业务实体或系统对象。系统的业务规则将在这些对象中编码,尽管部分业务规则可能实际上已在数据库的存储过程和触发器中进行了编码。? 业务逻辑层:????? (1) 从“用户界面”层接受请求。????? (2) 根据编码的业务规则处理请求。????? (3) 从“数据访问”层获取数据或将数据发送到“数据访问”层。????? (4)将处理结果传递回“用户界面”层。 ?用户界面???????
为用户提供一种交互式操作界面
用户界面项目是指在应用程序中实现的客户端。用户服务可以是 Web 客户端或 Windows 客户端,这具体取决于特定的应用程序。例如,在开发Web 应用程序时,可能需要提供具有标准 Windows 用户界面或 Web 用户界面。通常,这种一般类型的应用程序包含以下功能: ?? 用户界面层:????? (1)管理 Web 页或 Windows 界面的呈现和行为??????(2)显示数据????? (3)捕获数据??????(4)数据验证检查????? (5)为用户提供任务指南????? (6)向“业务逻辑”发送用户输入????? (7)从“业务逻辑”接收结果????? (8)向用户显示错误?
3、三层之间的依赖关系
4、如何搭建三层结构
5、强调三层关键点
三层是指:表示层、业务逻辑层、和数据访问层。
表示层:位于最外层(最上层),离用户最近,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面。一般由Windows应用程序或Web应用服务。
业务逻辑层:是表示层和数据访问层之间通信的桥梁。主要负责数据的传递和处理。例如:数据有效性的验证、业务描述相关的功能。通常为类库。
数据访问层:主要实现对数据的保存和读取操作。数据访问,包括访问关系数据库、文本文件和XML文档等。通常也是类库。
三层之间的依赖关系:表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。
表示层只允许引用业务逻辑层,不允许直接引用数据访问层。
各层之间不允许循环引用
服务员(表示层)display
厨师(业务逻辑层)business logic layer BLL
采购员(数据访问层)data access layer DAL
演示具体操作(略)
6、引人实体类
以前读取数据都是用DataSet、DataTable、DataView作为接受数据的载体。使用DataSet具有某些局限性。
(1)DataSet不具备面向对象的特性,使用不直观、方便;
(2)查询数据必须指定索引和列名;
(3)其核心结构与数据库的核心结构完全相同,将数据结构完全暴露给表示层和业务
您可能关注的文档
- 客运人员“双百”知识问答.doc
- 室内分布及WIFI技术规范.doc
- 室内游戏、比赛团队游戏户外拓展游戏大全大收集.doc
- 室内装饰效果图欣赏小户型室内装饰效果图欣赏.doc
- 室内装饰设计中七大要素.doc
- 室内质量控制操作程序.doc
- 室外消火栓改造方案.doc
- 家中常见盆栽花卉.doc
- 家具厂生产管理岗位职责2.doc
- 家居书房装修图片家居书房装修图.doc
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)