Open4

UIアーキテクチャ メモ (MVC, MVP, MVVM)

kenfukukenfuku

UIのアーキテクチャ

UIのアーキテクチャには, MVCなどが存在する。
ネットにある情報だと概念がネジ曲がっているような気がするので、ココに自分用のメモを記載する。

kenfukukenfuku

MVC

MVC は Model-View-Controller で構成させる UIアーキテクチャである。
これは以下の2つに分けられる。

  • MVC
  • MVC2

MVC

MVCは以下のような構成となる。
おそらくCLIを前提に考案されたアーキテクチャだと思う

MVC2

MVC2はMVCをWEB用に改変したモノだと考える。
以下のような構成になる。

kenfukukenfuku

MVP

MVPはGUIを前提に考えられていると思う。
以下のような構成になる。

kenfukukenfuku

MVVM

MVVMは以下のような構成になる。
ほとんどMVPと同じだが嬉しい点としてはPresenterがViewに依存しなくなるので、Viewを自由に変更できるようになるはずだ。
なおViewModelがViewにデータを転送する際には Observerパターンが用いられる。