Q群里有人问:
有三个窗口,a,b,c。a窗口的数据变化的时候,b,c要发生相应的变化。现在我用的是消息,但老板让用观察者模式,有啥好的方法?我给出了观察者模式的解法,定义一个类,把共有的数据放到这个类,然后把各窗口加入该类的观察者,在类里加个线程,每隔一段时间数据同步一次。但是对于老板让用观察者模式,正如我们项目组组长对我说的:把老板当作顾客,所有的顾客需要的是功能而不是如何实现,但是顾客有个倾向,指使你如何实现而非说出所要实现的功能,你所要做的就是沟通,了解顾客真正需要的,根据客户所需要的确定最优化的实现,然后说服顾客,正如我们老板经常说的:备胎,备条后路,如果一个方案无法实现,用另一个备选方案实现。于是我思考有没有更简便易行的解决方案,因为我觉得这个问题较具普遍性,值得思考。
于是关于这个多个窗口同步问题,我想到了个更好的解决,引用传递+DDX/DDV,可以干净利落的解决这个问题,前者是基本技术了,后者是MFC的常识了,两者组合起来,可谓惊天地,泣鬼神。