c++ - MFC中如何将GUI与逻辑分离?

标签 c++ design-patterns user-interface mfc logic

我想在VS2010中开发一个MFC应用程序。我希望将GUI与逻辑分离,这样修改GUI就可以变得容易得多。但我不知道如何设计类来实现这个功能。我应该使用哪种设计模式? MFC有什么特殊的方法来处理这个问题吗?

而且,我对设计模式也不熟悉。所以我希望有人能给我样本或详细的文章来解释这一点。 (而且我更喜欢不太复杂的模式!^^)

非常感谢!

最佳答案

MFC 已经在其基于 SDI/MDI 的模板中提供了这种分离。例如,您有一个 CWinApp 实例和一个程序本身的 CMainFrame。对于 MDI 应用程序中的每个文件,您都有一个 CDocument 和一个 CView 类。

注意:

  • MFC 不使用经典的 MVC 分离,而是将 View 和 Controller 组合到单个 UI 部分中。
  • MFC对此并不严格,您还可以将按钮处理程序放入应用程序/文档中,而不仅仅是放入框架/ View 中。
  • 您没有将模型与 MFC 完全分离,它仍然是建立在 MFC 之上的。如果你想实现这种分离,你必须做额外的工作,但这样你就有了一个可以完全单独测试的模块。这使您可以使用测试驱动开发,而当嵌入到 GUI 中时,这会变得更加困难。

关于c++ - MFC中如何将GUI与逻辑分离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715036/

相关文章:

c++ - 主函数可以是模板吗? (安全的命令行参数解析)

java - 有人在附加的类图中识别出任何模式/反模式吗?

file - 对大型模式文件使用 grep

iphone - UILabel 中的可点击词

java - 如何设置多个按钮并将它们添加到 gridPane

c++ - 静态局部变量什么时候出现?

c++ - 运行最基本的 sfml 应用程序时的性能问题

ios - 弹出窗口下 View 上的事件 UI 导航

c++ - “Add to project list”在Qt项目管理对话框中是灰色的

c# - 宽容格式设计模式 - JQuery 或 C# 库?