大纲/目录/草稿
完成写作后可能会删除
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