三层架构1摘要.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通用类库和实体类 一般情况下,三层架构除了基本的界面层、业务逻辑层和数据访问层之外,还有2个项目,即Common项目和Model项目。 Common项目中一般放的是通用类,如一些共性的通用辅助类和工具方法,如数据校验、缓存处理、加解密处理等,为了让各个层之间复用,也单独分离出来,作为独立的模块使用。 Model项目中存放的是实体类,来实现数据对象实体和方法分离,以便在多个层中传递。 通用的三层架构模型 为什么需要实体类 数 据 库 它不具备OO的优点 实现数据检索比较繁琐、易出错 它使数据架构暴露在业务逻辑层和表示层 为了消除以上局限性我们需要使用实体类 DataSet 将表中的每个字段抽取为类的字段(注意类型匹配),并封装成属性,设计构造函数,来将表抽取为类。这种类就称为实体类。 这个抽取过程称为对象关系映射(ORM)。 什么是实体类 管理员 数据表 简单地说就是描述一个业务实体的类,例如:管理员信息 管理员信息 对应的实体类 对象关系映射Object Relational Mapping,简称ORM,是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。 本质上就是将数据从一种形式转换到另外一种形式。 为什么需要实体类 从OOP思想考虑 它是完全受控制的对象 它具有面向对象的基本特征 它可以自定义行为 它消除了关系数据和对象之间的差异 它为我们在关系数据库和对象之间架起一座桥梁 * * 备注: 饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时都不会影响其他俩者的正常工作,只对变化者进行重新调整即可正常营业。 我们用三层架构开发的软件系统于此类似,表示层只提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。 * * 讲解要点: 重点强调服务员、厨师、采购员三者中当任何一者发生变化时都不会影响到其他两者的正常工作,从而引伸出三层架构各层之间的“高内聚,低耦合”特点。 * * 讲解要点: 从饭店场景引出软件系统中的三层架构模型。 * * 注释 据访问层 ??????? 数据访问项目执行从数据库(或其他数据服务)获取数据或向数据库发送数据的功能。在分布式应用程序架构中,相应功能使用 ADO.NET 数据适配器和 SQL 服务器存储过程来完成。 ??? “数据访问”层:? ?????(1)从“业务规则”层接收请求,从“数据服务”获取数据或向其发送数据。? ?????(2)使用存储过程获取数据,并可选用 ADO.NET 向数据库发送数据。? ???? (3)将数据库查询结果返回到“业务规则”层,作为ADO.NET 数据集。? 业务逻辑层 ??? 业务规则项目包含业务对象本身以及应用于它们的规则。这也是主要业务对象所在的位置。它们实现业务实体或系统对象。系统的业 务规则将在这些对象中编码,尽管部分业务规则可能实际上已在数据库的存储过程和触发器中进行了编码。 ? 业务规则层:? ???? (1) 从“用户界面”层接受请求。? ???? (2) 根据编码的业务规则处理请求。? ???? (3) 从“数据访问”层获取数据或将数据发送到“数据访问”层。? ???? (4)将处理结果传递回“用户界面”层。 ?用户界面 ??????? 用户界面项目是指在应用程序中实现的客户端。在分布式应用程序架构中,用户服务可以是 Web 客户端或 Windows 客户端,这具体取决于特定的应用程序。例如,在开发Web 应用程序时,可能需要提供具有标准 Windows 用户界面或 Web 用户界面。通常,这种一般类型的应用程序包含以下功能: ?? 用户界面层:? ???? (1)管理 Web 页或 Windows 界面的呈现和行为? ?????(2)显示数据? ???? (3)捕获数据? ?????(4)数据验证检查? ???? (5)为用户提供任务指南? ???? (6)向“业务规则”发送用户输入? ???? (7)从“业务规则”接收结果? ???? (8)向用户显示错误? * * 注释:自定义实体是代表业务域的对象,它们是业务层的基础。 例如: public class ClassInfo { #region Private Members pr

文档评论(0)

boss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档