Skip to content

Commit

Permalink
docs(project): update mvvm.zh-CN.md
Browse files Browse the repository at this point in the history
This document has been very helpful to me. After reading it repeatedly, I realized that simply changing it would make it easier for users to understand
  • Loading branch information
xudihui authored Jul 18, 2024
1 parent 7d43e92 commit 3468e35
Showing 1 changed file with 1 addition and 1 deletion.
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

0 comments on commit 3468e35

Please sign in to comment.