gpt4 book ai didi

c++ - 信号/槽与直接函数调用

转载 作者:可可西里 更新时间:2023-11-01 18:18:13 27 4
gpt4 key购买 nike

<分区>

所以我开始学习 Qt 4.5,发现 Signal/Slot 机制很有帮助。然而,现在我发现自己正在考虑两种类型的架构。

这是我要用的

class IDataBlock
{
public:
virtual void updateBlock(std::string& someData) = 0;
}

class Updater
{

private:
void updateData(IDataBlock &someblock)
{
....
someblock.updateBlock(data);
....
}
}

注意:内联代码是为了简洁。

现在有了信号我就可以了

void Updater::updateData()
{
...
emit updatedData(data);
}

这更简洁,减少了对接口(interface)的需求,但我应该这样做吗?第一个代码块需要更多的输入和更多的类,但它显示了一种关系。使用第二个代码块,一切都更加“无形”。哪一个更可取,如果是个案,指导原则是什么?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com