单身人士或信号和老虎机?

时间:2011-09-06 21:29:21

标签: c++ qt user-interface

我正在尝试重新实现或修改gui应用程序中的选项卡代码。他们目前正在使用Qt信号和插槽系统来处理标签栏中标签的添加和删除(例如,如果标签正从一个标签窗口小部件拖动到另一个标签窗口小部件,旧标签窗口小部件将向新标签窗口小部件发出新标签信号来了)。我在思考而不是使用它,我可以使用线程安全的单例类来简化事情。然后,当移动标签时,小部件只调用单例而不是发出信号。

由于

3 个答案:

答案 0 :(得分:5)

信号和广告位。

如果没有开始为什么单身人士会不好,那么在Qt内部更新数据的方式会被单身人士方法搞砸。

答案 1 :(得分:4)

不要那样做。您正在一个环境中工作,应该使用框架提供的机制。如果将来的用户界面有多个窗口和多个实例呢?

如果可能,您应该始终尝试使用您正在使用的框架的方式。这也有助于未来的维护(升级,新员工等)

答案 2 :(得分:3)

您想使用单例,它会接受消息并将其发送回去吗? (注意:如果你使用花园多样性对象而不是单身对象,那么你实际上是在实现一个观察者模式)。

然后你重新发明信号和插槽,它们在内部使用全局状态。为什么不使用现有的信号和插槽,而不是重新设计一些困难的代码?