@
love 你自己不是已经说出它的区别了么?就是解耦的用法。多人协助会比较好理解。
如果要理解 flux ,最好和 react 来一起理解。我个人理解 action 实际上就是一个 event 类型的 API ,从 view 层来看,它本来应该是直接和 store 层打交道,但是如果 store 层被替换或者重构的话, API 可能也有相应的变化,比如你觉得 actionStore 的名字不好,或者要重新组织,只要后端在 event 监听里面做修改就好了。
如果采用 flux 的这种做法,大家都依赖 dispatcher ,这样在做单模块的时候无需增加其他模块的具体依赖,可以 store 修改的时候所带来的依赖修改。
不过 flux 这种模式有一个麻烦的地方,就是调用之前先要定义 action ,好处是 action 本身可查,麻烦就是 action 容错性比较低。而且对于 store 与 store 之间没有进行相关的解耦。
而之前在使用 backbone.radio 的时候,先是区分了主动请求 request 和被动回调 event ,对于空请求也不报错,只是警告。同时 request 可以作为同步请求,所以 store 与 store 之间的依赖也可以做解耦。