在经典的 Delphi 数据库应用程序中,我们有一个表单和一组数据感知的可视控件,通过 TDataSources 连接到 TDataSets。如果想使用 MVC 模型设计数据库应用程序,那么应该把 TDataSet 组件放在哪里?它们应该留在表单上,因此成为 View 的一部分吗?还是应该封装在某个 Model 对象内部?如果选择后者,它们如何绑定到可视化组件上?
在经典的 Delphi 数据库应用程序中,我们有一个表单和一组数据感知的可视控件,通过 TDataSources 连接到 TDataSets。如果想使用 MVC 模型设计数据库应用程序,那么应该把 TDataSet 组件放在哪里?它们应该留在表单上,因此成为 View 的一部分吗?还是应该封装在某个 Model 对象内部?如果选择后者,它们如何绑定到可视化组件上?
TDataModule -> Model
TYourForm.pas -> Controller
TYourForm.dfm -> View
如果你同意,那么你应该将DataSets放在Datamodule中。
在我正在开发的项目中,我还将TClientDataSets放在表单上并在创建时克隆数据。这样,我在TForm中有独立的数据,而在Datamodule中有逻辑。
很遗憾Delphi没有像ActiveRecord一样的框架。