云敛容 2014-08-27 09:13 采纳率: 33.3%
浏览 3762

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

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

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

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制