chr*_*isp 7 c++ windows oop user-interface
我的直接上下文是Windows平台,但是当我为另一个gui主机工作时,我也可能会问同样的问题.我在相当简单的c ++ winapi工作,没有ATL/MFC.我对使用全局变量不感兴趣,而是使用"应用程序"数据执行"窗口"相关任务的更多oop接受的做法.
我已经考虑过实现mvvw或mvc样式模式,但在我开始之前,我想要一些社区意见,从我想象的是无数经验丰富的开发人员和设计师.
我的Application类有Window成员.Window类是否应该使用Application引用进行设计?还是有比这更好的方法?
窗口的 Win API 为您提供了 Set/GetProperty(),它允许您定义指向您想要的任何内容的指针(即您自己的窗口对象)。但是,根据经验,我知道这相当慢。
另一种可能性是使用一个映射,其中 Win API 窗口的指针用作键,值是您的窗口对象。这要快得多,但是如果没有任何全局变量,您将该地图放在哪里?
正如塞缪尔所建议的,单例允许您获得与全局几乎相同的对象。然后,您可以使用 Win API 窗口指针作为键来获取窗口对象,并返回您的对象。
这是将传入事件映射到窗口对象所必需的。无论如何,其他一切都应该以相反的方式完成(正如您所期望的,仅在以与系统窗口类似的方式映射的窗口对象上调用函数。)
你为什么不使用Qt?它已经在 C++ 中,你不必担心这些细节......
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |