保存 MFC 对话框控件状态的设计模式

Design Pattern To save MFC Dialog Controls States

我编写了用 MFC 编写的 GUI 应用程序。该应用程序有不同的对话框。每个对话框都有默认选项,但用户可以根据需要来 select 不同的选项。我想将用户 select 编辑的所有选项保存到一个文件中,这样当我们下次 运行 我的应用程序时,我会加载用户上次选择的选项而不是默认选项。执行此操作的最佳设计模式是什么?现在,我有一个与所有对话框交互的 SaveIO 和 LoadIO 类 类。我不确定这是否是最好的方法,因为每次我添加另一个对话框时,我都必须更新 SaveIO 和 LoadIO 类。

此致

更好的选择是在对话框和负责保存和加载其状态的 类 之间建立一对一的关系。这样,当您添加一个新对话框时,您只需添加 2 类 来处理保存和加载状态,而无需更改现有代码。

使用约定,您应该能够根据正在使用的对话名称找出负责保存和加载的 类 名称。

我认为你最好一方面区分对话框,另一方面区分程序的配置。

考虑到您要完成的任务,听起来您需要一个支持序列化的配置对象,以及一些可以修改配置对象当前状态的对话框。

这样,saving/restoring配置就是serializing/deserialzing配置对象。

这与一般 MFC 所遵循的基本 document/view 范例非常相似——配置对象与模型密切相关,对话框与该配置对象(的部分)视图相对应。