- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
B1架构的经典知三层架构的经典知识
数据层组件设计与数据传递摘要: 学习向 Microsoft .NET 应用程序公开数据的最佳方式,以及如何实现一个有效的策略以便在分布式应用程序的层间传递数据。
简介
在设计分布式应用程序时需要确定如何访问和表示与该应用程序相关联的业务数据。本文提供一些指导原则以帮助您选择公开数据、保持数据和在应用程序的层间传递数据的最佳方式。
图 1 所示为分布式应用程序中的常见层。本文区分业务数据与使用这些数据的业务过程,并且仅在需要明确说明时讨论业务过程层。同样,本文仅在直接涉及数据表示方式(例如 Microsoft? ASP.NET Web 页面公开业务数据的方式)时讨论表示层。图 1 中使用了两个新术语:数据访问逻辑组件和业务实体组件。本文后面将解释这些术语。
图 1:分布式应用程序中数据的访问与表示
多数应用程序将数据存储在关系数据库中。除此之外还有其他数据存储方式,但本文重点讨论 .NET 应用程序与关系数据库交互的方式,而并不专门讨论它如何与平面文件、非关系数据库等其他数据存储中的数据进行交互。
本文明确区分保持逻辑与数据本身。将保持逻辑与数据区分开来的原因如下:
独立的数据保持组件可以将应用程序与数据源名称、连接信息、字段名等数据库相关内容隔离开。
现在的许多应用程序都采用 XML Web services、Microsoft 消息队列(亦称 MSMQ)等松散耦合的、基于消息的技术。这些应用程序通常通过传递业务文档而不是传递对象进行通信。
为区分保持逻辑与数据本身,本文提出了两种不同的组件类型。
数据访问逻辑组件。数据访问逻辑组件从数据库中检索数据并把实体数据保存回数据库中。数据访问逻辑组件还包含实现数据相关操作所需的所有业务逻辑。
业务实体组件。数据用来表示产品、订单等现实世界中的业务实体。在应用程序中表示这种业务实体的方法非常多,例如 XML、DataSet、面向对象的自定义类等,这取决于应用程序的物理和逻辑设计限制。本文后面将详细讨论各种设计方案。
数据访问逻辑组件
数据访问逻辑组件代表调用程序提供对数据库执行以下任务的方法:
在数据库中创建记录
读取数据库中的记录并把业务实体数据返回给调用程序
使用调用程序提供的修改后的业务实体数据更新数据库中的记录
删除数据库中的记录
执行上述任务的方法通常称为“CRUD”方法,这是由各项任务的首字母组成的一个缩写词。
数据访问逻辑组件还提供对数据库实现业务逻辑的方法。例如,数据访问逻辑组件可能包含一个查找目录中本月销售额最高的产品的方法。
通常,数据访问逻辑组件访问一个单一数据库,并封装了针对该数据库中一个表或一组相关表的数据相关操作。例如,可以定义一个数据访问逻辑组件来处理数据库中的 Customer 表和 Address 表,同时定义另一个数据访问逻辑组件来处理 Orders 表和 OrderDetails 表。本文后面将讨论将数据访问逻辑组件映射到数据库表的设计决策。
表示业务实体
每个数据访问逻辑组件都处理一种特定类型的业务实体。例如,Customer 数据访问逻辑组件处理 Customer 业务实体。表示业务实体的方式很多,这取决于诸如以下因素:
是否需要把业务实体数据与 Microsoft Windows? 窗体或 ASP.NET 页面中的控件绑定在一起?
是否需要对业务实体数据执行排序或搜索操作?
应用程序是每次处理一个业务实体,还是通常处理一组业务实体?
是本地部署还是远程部署应用程序?
XML Web services 是否使用该业务实体?
性能、可缩放性、可维护性、编程方便性等非功能性要求的重要程度如何?
本文将概述以下实现选项的优缺点:
XML。使用 XML 字符串或 XML 文档对象模型 (DOM) 对象来表示业务实体数据。XML 是一种开放而灵活的数据表示格式,可用于集成各种类型的应用程序。
DataSet。DataSet 是缓存在内存中的表,它是从关系数据库或 XML 文档中获得的。数据访问逻辑组件可以使用 DataSet 来表示从数据库中检索到的业务实体数据,您可以在应用程序中使用该 DataSet。
有类型的 DataSet。有类型的 DataSet 是从 ADO.NET DataSet 类继承而来的类,它为访问表和 DataSet 中的列提供了具有严格类型的方法、事件和属性。
业务实体组件。这是一种自定义类,用于表示各种业务实体类型。您可以定义保存业务实体数据的字段,并定义将此数据向客户端应用程序公开的属性,然后使用在该类中定义的字段来定义方法以封装简单的业务逻辑。此选项并不通过 CRUD 方法实现与基础数据访问逻辑组件的数据传递,而
您可能关注的文档
最近下载
- XXX水库观测报告.pdf VIP
- 医疗技术临床应用管理人才队伍的建设方案和培养计划.docx VIP
- 2024-2025学年初中几何真题巩固提升整理:经典例题 模型分析(含解析).docx VIP
- 国家自然科学基金重点项目答辩汇报教育专题(课件).pptx VIP
- 急救心肺复苏(CPR)培训课件.pptx
- 陆上石油天然气开采安全管理人员复习试题含答案.doc VIP
- 腾讯云开发工程师认证TCA考试真题题库四.pdf VIP
- 小学生班干部竞选PPT.pptx
- 高一历史上册第7课 隋唐制度的变化与创新 教学课件.pptx VIP
- 河北机关事业单位工人技能等级考试(公共基础知识)复习题库及答案.docx VIP
文档评论(0)