MVVM
https://cdn.journaldev.com/wp-content/uploads/2018/04/android-mvvm-pattern.png
GUIのArchitecture Pattern
Model, View, ViewModel
描画と、プレゼンテーションロジックを分離する
ModelとViewの密結合を解決
MicroSoftのJohn Gossman氏が2005年に発表
ここではWPF向けに考案された
VとVMを記述する言語や、書く人の専門性が異なっていたので分業できるようにした
VはXAML、VMはC#
FRPと相性がいい
データバインディング
ViewとViewModelを関連付けるもの
VMが変更されるとViewも同期的に更新される
VM内にViewに対する宣言的なロジックを記述する
ViewがVMをObserbeしてる単方向バインディング
VMとViewは疎結合になるので、VMのテストがしやすい
ViewはVMに依存するが、VMはViewに依存しない
でもVMはViewのイベントを監視するのかmrsekut.icon
Knockout.js
JSのMVVMフレームワークといえばこれらしい、しらんけど
思ったこと
VとVMを分けるのはReactとHooksでやりたいことではないか?
ということはここの知見が役に立ちそう
参考
『iOSアプリ設計パターン入門』