🔥

MVCとMVVMの違いとは?

2021/04/14に公開

はじめに

張り切ってMVCでファイル切り分けたら、どこに何の役割ふりわければいいのかわからなくなりました笑

目次

  1. MVCについて
  2. MVCの問題点
  3. MVVMの役割

1. MVCについて

  • M:Model→request, response, データ構造
  • V:View→画面
  • C:Controller→ViewとModelの制御

2. MVCの問題点

  • やりとりがたくさんあってコード量が多くなる→重くなる
  • どこにどんなロジックを書くのか問題

  • Controllerの負担が大きくなっている。(Fat Controller)

3. MVVMの役割

  • M:Model
  • V:View
  • VM:View Model

MVVMについて検索をするとデータバインディングのことがよくヒットするが、データバインディングを使っていたらMVVMというわけではない。

MVCとの違い

View ModelとModelが直接すべてをやりとりするのではなく、Modelが変更通知機能を持ち、通知によって更新をViewModelに伝える。
Viewの変更する点だけをViewModelが更新する。

Discussion