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 を切り離すという本来の目的に反します。