<分区>
所以我开始学习 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)的需求,但我应该这样做吗?第一个代码块需要更多的输入和更多的类,但它显示了一种关系。使用第二个代码块,一切都更加“无形”。哪一个更可取,如果是个案,指导原则是什么?