1

我有一个关于 OOP 的问题。我对 Delphi 并不陌生,但我是自己学习的,主要是从互联网上学习的,并没有以“正确”的方式学习。几周前我才开始研究 OOP。所以这是我的问题:我有一个名为“Session”的自己的类。此类通过 Visual LiveBindings 与 Edits 连接。我想用来自 TClientDataset 的数据填充我的班级(我不直接将数据集与编辑绑定是有原因的)。现在我有两个想法: 1. 我构建了另一个实现数据集并处理文件打开和导航的类。2. 我将 ClientDataset 拖放到我的 Form 并使用 Livebindings 将其连接到我的类,如下所示: DataSet <---> Class <---> Edit

我希望你能理解我的描述。那么:哪个想法更好?我感觉 LiveBindings “破坏”了 OOP 的概念。另一方面,我不需要编写代码和类型转换,因为实时绑定为我完成了这些。那么你会选择哪种方式,为什么?还是有人有其他想法?

我希望你明白我的意思并能帮助我:)

4

1 回答 1

1

使用 LiveBindings 完全可以绑定到对象而不是数据集。见:http ://www.malcolmgroves.com/blog/?p=1084

总结:看看TAdapterBindSource组件。它设计用于在现有控件和自定义对象之间创建 LiveBindings。在它的 onCreateAdapter 事件中,您可以将 TObjectBindSourceAdapter 作为 aBindSourceAdapter 返回,以防您要绑定一个特定对象,或者返回 TListBindSourceAdapter 以绑定对象列表。

LiveBindings 和 OOP 不会互相影响!

于 2014-10-21T15:40:30.037 回答