在 Qt/QML 的新项目范围内,我们目前正在寻找应用程序架构。我们正在考虑 Facebook Flux 架构的实现。
我发现了这个很好的库,它在某些方面使它变得如此:https://github.com/benlau/quickflux
在我们的例子中,我们希望用 C++ 管理存储和操作。然而,为 C++ 实现 Flux 存在一个问题。这是要传递给调度程序的数据类型。 C++ 是强类型语言,但 Dispatcher 允许将任何类型的数据传递给dispatch() 函数。它可以使用 QVariant 类型,就像 Quick Flux 所做的那样。但我认为 C++ 开发人员并不真正喜欢这种方法。
你有办法解决这个问题吗?
谢谢各位的解答
最佳答案
我的答案可能已经过时,但也许会帮助有同样问题的人......
您可以尝试使用C++/Qt实现类似Flux的应用模式https://github.com/eandritskiy/flux_qt
请查看 QML 示例。
只有 2 个类导出到 QML 引擎:ActionProvider 和 Store。 ActionProvider 负责整个应用程序中的操作生成(在 QML 部分和 C++ 部分)。 Store 向 QML 元素提供其属性(在属性绑定(bind)中使用)。所有 Store 属性都在 C++ 部分中以受控方式更改。
附注 如果您更喜欢纯 C++ 实现,请检查 https://github.com/eandritskiy/flux_cpp (但请确保您的编译器支持 C++17 std::any)
关于c++ - 使用 QML 和 C++ 实现 Flux 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43843463/