2 shuideyidi shuideyidi 于 2014.08.27 17:13 提问

子窗口调用父窗口的方法或者使用父窗口的成员变量

我们在开发中,常常会遇到在子窗口调用父窗口的方法或者使用父窗口的成员变量的情况。
对于子窗口使用父窗口的变量,我能想到的方法有:
(1)构造函数里面增加参数,构造的时候直接把需要用到的变量传进去;
(2)父窗口提供接口函数,在子窗口调用父窗口的函数,去获取变量值。
这两种那种更好?对于软件工程以及软件设计模式的开闭原则、低耦合高内聚来说,哪种更合理?或者是不是有更好的办法?

然后是子窗口调用父窗口的函数:
(1)构造函数中,直接将父窗口的指针(句柄)传入,需要时,可以通过指针直接调用;
(2)子窗口提供设置回调函数的接口,父窗口提前调用接口设置好回调函数,待需要调用的时候,直接调用这个回调函数;
(3)发送消息,利用消息机制。比如MFC的消息机制,Qt的信号与槽等等。
总感觉消息机制,是最合理的,但是消息机制,比较麻烦,要写的地方比较多,而通过指针调用的方式,更加方便,不过总感觉这种方式不太好,会不会破坏程序的开闭原则、低耦合高内聚等等。我分析不出来,希望有大神,可以指点一二。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!