我正在使用libsigc++连接一个应用程序,并且不确定使用哪种更简单的方法。
有一个预先存在的对象层次结构来管理数据层,顶层对象公开所有函数。到目前为止一切都很好。
为此,我添加了一个GUI对象层次结构,并且在应用程序对象中,我使用信号连接将它们挂钩在一起。要建立连接,我需要指向发送方和接收方的指针。
现在,我是否直接在树的下面挂接子小部件,从而需要在树中上下传递指针?
或者,我是否经历了在链中的每一步都挂入信号和插槽的艰苦过程?
一方面,传递指针打破了sig-slot模型为您购买的分离。另一方面,在每一步创建连接似乎与sig-slot应该提供的所谓“事件心灵感应”并不押韵。
使用此模型的人会考虑默认方法中的哪一种?
发布于 2009-04-28 21:15:33
就我个人而言,我不认为使用信号/插槽机制“跳过”层有任何问题。我更喜欢这样看:一个组件正在向野外发送信号,任何对这些信号感兴趣的人都可以听到它们。
几个技巧:避免发送过于通用的信号,并且不依赖于插槽的执行顺序(如果给定的信号调用了许多插槽)。
https://stackoverflow.com/questions/799780
复制相似问题