Open rainit2006 opened 5 years ago
■MVP
■MVVM
MVVMの最大の特長は「View」の独立性にあります。MVCやMVPといったアーキテクチャもViewの独立性はありますが、「Controller」や「Presenter」への影響はゼロではありませんでした。なぜならば、MVCやMVPにはViewとController/Presenterとの間にViewのインタフェースが存在し、Viewに対して大きな変更が加わったとき、ControllerやPresenterもその影響を受けてしまうからです。
一方、MVVMにはViewのインタフェースは存在せず、代わりに「Data Binding」(データバインディング)という仕組みがあります。Data Bindingが橋渡し役となり、ViewとViewModel双方のステータスを自動的に変更します。例えば、Viewのステータスに変更が加わると自動的にViewModelのステータスがアップデートされ、ViewModelのステータスに変更が加わると同じく自動的にViewに反映されます。
■「テスタビリティー」から考えるMVVMアーキテクチャ
网络参考: