Open4
UIアーキテクチャ メモ (MVC, MVP, MVVM)
UIのアーキテクチャ
UIのアーキテクチャには, MVCなどが存在する。
ネットにある情報だと概念がネジ曲がっているような気がするので、ココに自分用のメモを記載する。
MVC
MVC は Model-View-Controller で構成させる UIアーキテクチャである。
これは以下の2つに分けられる。
- MVC
- MVC2
MVC
MVCは以下のような構成となる。
おそらくCLIを前提に考案されたアーキテクチャだと思う
MVC2
MVC2はMVCをWEB用に改変したモノだと考える。
以下のような構成になる。
MVP
MVPはGUIを前提に考えられていると思う。
以下のような構成になる。
MVVM
MVVMは以下のような構成になる。
ほとんどMVPと同じだが嬉しい点としてはPresenterがViewに依存しなくなるので、Viewを自由に変更できるようになるはずだ。
なおViewModelがViewにデータを転送する際には Observerパターンが用いられる。