大纲/目录/草稿

完成写作后可能会删除

  • dd

  • 缺陷

    • reaxes不会像其他库那样对于缺陷避而不谈,相反地,我们乐意去就本质分析利与弊,因为reaxes致力于帮助架构师们建立优秀的前端领域架构,而架构师们需要关心其缺陷以获得对项目完整的掌控力。

reaxes本身是一个为"业务模型<->视图"提供哲学指引的架构,而非任何具体的实现。

reaxes-react-mobx

reaxes认为:

  • 前端的业务逻辑和数据不应放在视图层中,而是应该放在依据业务模块或底层服务分割的分布式服务(reaxel)中,只对外暴露必要(且通用化(尽可能不与具体业务和用法关联)的)的API。并且reaxel之间可以相互调用,以获得任意其它分布式服务中的能力(warn:需要提防在iife中循环调用的问题,就像esm中a import b; b import a)。

  • 我们强烈建议设计reaxel时遵循“职责单一原则”,这可以赋予reaxel极大的灵活性,也更加容易进行单元测试。

  • reaxel不应设计为与视图逻辑(或组件)产生强耦合,一个直观的指标是:使用代码来完全模拟用户与视图交互产生的action,而剔除掉真实的视图逻辑(或组件),整个应用是否能够正常运行?

实现reaxes架构的标准:

  • 实现完整的reaxes API如(orzMobx,Reaxes.closuredMemo)

  • 视图组件(或逻辑)具有自动收集orzStore依赖的能力

reaxes并不是对mobx的简单封装, 而是基于前端业务形态诞生的。mobx的技术实现告诉了我们Javascript可以实现如此高效、强大、优雅的响应式架构,而以mobx为底层引擎构建的reaxes生态则会告诉大家:分布式的响应式模块才是前端应用的终极解决方案。

Last updated