MVVM

GUI

MVVM は GUI アプリケーションを設計する際に利用するアーキテクチャの 1 つで、アプリケーション全体を Model, View, ViewModel の 3 つに分割します。

ViewModel

  • MVVM における ViewModel は View と Model を繋ぐためのデータ構造です。

MVVM を利用するメリット

  • MVVM を利用するメリットの 1 つは View に対する Binding が利用できる点です
  • Binding を利用すると、Model-ViewModel 側のデータと View 上の値が同期されます。
<TextBlock Text="{Binding Path=Name}"/>
  • 上記の .NET で WPF の View を記述した場合の例ですと、Model 側の Name が変更されると即座に画面の TextBlock 上に表示される文字列も更新されます。
  • TextBox の様な入力を受け付けるコンポーネントの場合には、画面上で入力した値が即座に Model-ViewModel にも反映されます。

MVVM を利用した場合のデメリット

  • WPF の様な MVVM のフレームワークでは Binding を行うために Model に Binding のための機能を実装する必要があります。
  • このことは、Model と View を切り離すという本来の目的に反します。

参考資料