- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 14 章 使用数据控件
组件面板的 Data Controls 属性页包含了 VCL 控件(其中有一个 TFieldDataLink 辅助对象)。
TFieldDataLink 允许数据控件被连接到一个 DataSource 。DataSource 是连接控件(和用户交互的)和 dataset
(和数据交互的)的桥梁。
数据感知控件有附加的特性和事件,这使得编写商务逻辑并把商务逻辑与那些控件联系起来成为可
能。商务逻辑指的是一种规则,这种规则定义数据怎样被使用。例如,在美国一个 Social Security (社会安
全)号码是九位数字并且其格式为###-##-#### 。编写一个包含 Social Security 号码的应用程序可能包括定
义一个格式规则和一个确认检查以确保每一个元素要么是十进制数字要么是短划线。格式规则和确认检查
约束了一个数据是或者不是一个 Social Security 号码。定义数据怎样被约束的规则是组成一般术语商务规
则的一部分。
有三个地方可以放置商务规则:数据库、中间层或者客户层。当约束被放置到在客户层中时,客户端
被叫做胖客户端。胖客户端应用程序通常是两层的。当规则被放置到数据库层的时候——例如使用触发器、
数据约束和存储过程和视图——这就被叫做胖服务器。这种应用程序也是两层应用程序。当定义一个分离
的中间层并包含商务规则时,我们称这种应用程序为三层应用程序。
数据控件支持胖和瘦客户端、胖和瘦服务器以及两层的和三层的开发。数据控件允许您在特性中将格
式约束和在事件中的其他商务逻辑(如 TDBEdit 控件中的 OnChange 事件)联合起来。Delphi 企业版捆绑
了MIDAS (Multitier Distributed Application Services Suite ,多层分布式应用程序服务组)组件,这方便了
创建中间层,并且大多数 RDBMS (Relational Database Management Systems ,关系数据库管理系统)服务器
都有过剩的约束数据的方法。在哪里放置约束依赖于您正在使用哪种类型的设计。本章我们将介绍数据控
件和与它们相关的 TField 对象,列举控件和它们的特性和事件,这些特性和方法对数据怎样被管理的商务
规则的定义提供了方便(第 15 章介绍建立瘦客户端、三层应用程序)。
14.1 简述两层和三层设计
两层应用程序开发使用一个客户端应用程序和一个数据库服务器。三层应用程序开发使用一个客户端
应用程序、一个定义商务逻辑的服务器应用程序和一个第三数据库服务器层。中间层可以是一个或者更多
的服务器应用程序,客户端层使用这些应用程序和数据库层对话。
通常在编程过程中一个很好的规则是将数据约束放置到与数据库尽可能近的地方,原因可以通过特性
工作的方式来说明。从外面看,特性像数据;对用户透明的是特性有用于读和写数据的访问方法,该数据
约束了当前字段的一些使用。
在数据附近放置约束就是将规则与数据绑定在一起。胖客户端应用程序包含商务规则。您每一次想在
该客户端的其他位置上访问数据的时候,您必须复制这个规则,该规则约束了数据被使用的方式。这样您
就有了许多代码重复了同样的规则,换句话说,同时需要写、测试和维护更多的代码。RDBMS 被定义为
与其他一些客户端应用程序一起使用,这使得人们可以使用类似于 Microsoft Access 的应用程序来修改数
据。如果商务逻辑驻留在您的客户端应用程序中,那么约束就不会被其他客户端应用程序误用。
胖服务器的设计在服务器上放置了商务规则。当胖服务器的设计仍然可以在两层应用中使用时,商务
规则要临近数据,从而减少被其他客户端应用程序误用的可能性。另一个好处是:定义一个胖服务器意味
着只要给每一部分数据定义商务规则一次。很有趣的是,似乎现有的胖客户端应用程序比胖服务器要多;
这种情况的存在可能是因为程序员也创建数据库。
通过在胖服务器设计中添加中间层使您可以更大程度地控制怎样访问数据库和控制客户端应用程序
类型增加的数量和种类;任何附加的商务规则在数据库服务器层中定义时看起来很不自然,它可以被定义
到中间层。使用单独的中间层还意味着不同类型的多客户端可以同时重新使用同样的中间层。权衡一下来
第 14 章 使用数据控件
文档评论(0)