如何同步多个窗口的共有变量

soliddream66 2009-08-13 07:39:00
Q群里有人问:
有三个窗口,a,b,c。a窗口的数据变化的时候,b,c要发生相应的变化。现在我用的是消息,但老板让用观察者模式,有啥好的方法?

我给出了观察者模式的解法,定义一个类,把共有的数据放到这个类,然后把各窗口加入该类的观察者,在类里加个线程,每隔一段时间数据同步一次。

但是对于老板让用观察者模式,正如我们项目组组长对我说的:把老板当作顾客,所有的顾客需要的是功能而不是如何实现,但是顾客有个倾向,指使你如何实现而非说出所要实现的功能,你所要做的就是沟通,了解顾客真正需要的,根据客户所需要的确定最优化的实现,然后说服顾客,正如我们老板经常说的:备胎,备条后路,如果一个方案无法实现,用另一个备选方案实现。

于是我思考有没有更简便易行的解决方案,因为我觉得这个问题较具普遍性,值得思考。
于是关于这个多个窗口同步问题,我想到了个更好的解决,引用传递+DDX/DDV,可以干净利落的解决这个问题,前者是基本技术了,后者是MFC的常识了,两者组合起来,可谓惊天地,泣鬼神。
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
soliddream66 2009-08-13
  • 打赏
  • 举报
回复
不过我想的方法,甚至不需要自己隔段时间自己更新,MFC已经帮助你做好了
soliddream66 2009-08-13
  • 打赏
  • 举报
回复
唔~有道理
雪影 2009-08-13
  • 打赏
  • 举报
回复
多个窗口数据同步问题,使用一个线程定时更新确实不是好主意
xylicon 2009-08-13
  • 打赏
  • 举报
回复
用观察者模式不需要加个线程,每隔一段时间数据同步一次吧。

当数据更新的时候,所有观察者都会得到通知的。这样已经做到实时同步了。不需要隔段时间同步一次。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧