Open switer opened 9 years ago
对象
flux 为 Facebook 官方发布 flux 库,reflux 为一个实现 flux 模式的第三方库。
ViewController
Action
Dispatcher
Store
Pub/Sub
Flux 使用 Pub/Sub 作为 Action 与 Store 的通信机制。
在 reflux 中,Action 使用 Observer 替代全局 Pub/Sub 与 Store 通信。
模块
VC
抽象
对象
订阅,双方需知道相互的存在。Lib
flux 为 Facebook 官方发布 flux 库,reflux 为一个实现 flux 模式的第三方库。
flux
ViewController
直接调用Action
Action
通过Dispatcher
(Pub/Sub) 与Store
通信Dispatcher
为一个全局的Pub/Sub
模块,所有的Action 在全局范围内都可以与 Store 都可以进行相互通信ViewController
通过观察者模式,订阅Store
的信息reflux
ViewController
直接调用Action
Store
通过观察者模式,订阅Action
信息ViewController
通过观察者模式,订阅Store
的信息差异
Flux 使用 Pub/Sub 作为 Action 与 Store 的通信机制。
在 reflux 中,Action 使用 Observer 替代全局 Pub/Sub 与 Store 通信。
模块
为单个 Action 和 Store 实例的载体的话,模块之间存在依赖关系。More
VC
执行完毕具体的行为逻辑后,通过 Action 把结果发布给 Store ,一切简单又轻巧。VC
里面,那样就太臃肿难维护了,而且抹杀了行为逻辑的服用性。Flux 把行为逻辑封装在Action,然 Action 自发与 Store 通信,VC
只关系,执行了一个抽象
行为,然后等待Store
通知数据更新,且 Action 里面封装的行为可以被其他的VC
复用。