gpt4 book ai didi

delphi - 最初为什么创建 TDataSource?

转载 作者:行者123 更新时间:2023-12-03 14:39:29 24 4
gpt4 key购买 nike

创建 TDataSource 作为数据绑定(bind)组件和实际底层 TDataSet 之间的中介,而不是让组件直接连接到 TDataSet 本身的原因是什么?

这似乎是一个愚蠢的问题,但我正在研究一组广泛的“数据查看器”组件,这些组件链接到通用的“数据连接器”组件等;在设计这组组件时,我发现自己引用了经典 Delphi“TDataSet -> TDataSource -> Data-bound-component”设置的结构作为指导。然而,在我的组件集中,我一直希望将“TDataSource”和“TDataSet”等价物的功能本质上合并到一个类中。这让我想知道最初将它们分开的原因是什么。

最佳答案

一切都是关于decouplingindirection .

TDataSource 有两种:

  • 解耦主从关系(TDataSource 与绑定(bind)的 TDataSet 位于同一模块中;从属 TDataSet 通过将其“MasterSource”属性指向指向主 TDataSet 的 TDataSource 来引用主 TDataSet)<
  • 将 UI 与业务层解耦(TDataSet 位于 DataModule 中;TDataSource 位于包含 UI 控件的 Form/Frame 上,UI 控件引用其 DataSource 属性)。

由于许多组件可以指向同一个 DataSource,因此您只需翻转一个 TDataSource.DataSet 属性即可快速切换它们使用哪个底层 TDataSet。

关于delphi - 最初为什么创建 TDataSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com