0

我有一个总体设计问题,涉及在 VS c++ 中开发 MFC 应用程序时事件处理程序的放置位置。在 Dialog 类中有事件处理程序会更好吗?或者将事件处理程序放在主应用程序类中是否可以接受?

我问这个是因为我发现自己试图从对话框类调用主类中的函数,然后又试图从主类更新 GUI。我认为将我的大部分代码移到 GUI(对话框)类会更容易。

我想我想知道事件处理和调用不在事件发生的 GUI 内的函数时的约定是什么。

任何输入将不胜感激。

4

1 回答 1

1

面向对象的设计要求您决定哪些对象负责程序的各种元素。

GUI 类应该负责与关联的 GUI 元素的所有交互。在您的情况下,对话框类应该处理来自嵌入在对话框中的元素和菜单的所有消息。

另一个类可能应该处理程序中数据的表示。这可能是应用程序类,也可能是完全独立的类。MFC 使用的 Document/View 架构具有指导意义——应用程序只负责少数记账功能,文档类处理数据表示,视图类负责在窗口中绘制数据。

于 2012-05-18T17:15:15.630 回答