Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/core/docs/guide/mvvm.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

还记得之前 React 团队用了一个最简单的表达式 **UI = fn(State)** 来表达整个 React 体系吗?这样的函数式表达 UI,非常简单清晰,那会不会和 MVVM 模式产生冲突呢?

并不会冲突,因为在 MVVM 的模式中,View 和 ViewModel 的关系其实就约等于 **UI = fn(State)** ,因为 ViewModel 是一个注入逻辑的充血模型,它与 **fn(State)** 都能达到相同的目标,只是它是更 OOP 的表达,只是**fn(State)** 是一种更加函数式的表达,将状态作为贫血模型而存在,通过一个又一个的函数,对贫血模型做 Immutable 式的更新,最终反应到 UI 上。
并不会冲突,因为在 MVVM 的模式中,View 和 ViewModel 的关系其实就约等于 **UI = fn(State)** ,因为 ViewModel 是一个注入逻辑的充血模型,它与 **fn(State)** 都能达到相同的目标,只是它是更 OOP 的表达,**fn(State)** 是一种更加函数式的表达,将状态作为贫血模型而存在,通过一个又一个的函数,对贫血模型做 Immutable 式的更新,最终反应到 UI 上。

所以,从逻辑和数据分离的角度上来看,函数式表达更加清晰,只是函数式表达要求所有数据都是 Immutable 的。所以在性能要求高的场景上,采用函数式模型收益并不会太大,当然只是在 js 语言下是这样的。相反,MVVM 这种模式对数据的要求更多的是 Reactive 数据,也就是可以通过引用式操作数据的响应式数据模型,这样可以做到精确监控数据变化,最终反应到 UI 上。

Expand Down