首先,我是一个绝对的编程初学者,所以不要取笑我太多。
我所看到的唯一用于信号的东西是 GUI 工具包,而 GUI 工具包都带有自己的信号。那么,Boost:Signals 甚至可以与这些 GUI 工具包一起使用吗?这是个好主意吗?信号还有哪些其他应用?

最佳答案

Signals 是一个事件消息实现,很像 Smalltalk/Objective C Messages Events 在各种其他(例如 C#)语言中。

您可以将它们用于各种任务,请查看 Observer Pattern

为什么要使用观察者模式?

好处主要是在组织上,当您使用大型应用程序时,应用有助于保持开发团队一致性的重用模式非常重要。

当特定模式的实现成为事实上(或接近)时,它特别有用,因为这意味着新团队成员的准备时间可能会加快,不仅如果他们以前使用过该实现,还因为流行度实现意味着有广泛的资源和文档可用于 boost 学习。

从纯代码的角度来看,所有模式都显得臃肿,但是当您开始了解软件开发中 60% 以上的成本都在维护生命周期中时,增加代码以获得一致性是非常值得的。

另一个好处是有助于软件重用,根据实现的风格,观察者模式可以帮助模块化和解耦类。我认为这也是一种组织优势,因为不同的团队可以更轻松地构建组件,或者仅仅是因为组件更容易更换。

关于c++ - Boost::Signals 的重点是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4273570/

10-09 23:02