
526
12
章
MVC
内のパターン
MVC
をパターンの集まりとして理解する
MVC
を学ぶための最良の方法は、
MVC
とは何であるか理解することであることは
すでに説明しました。
MVC
とは、同じ設計内で協調動作するパターンの集まりなので
す。
まずはモデルから見てみましょう。モデルは
Observer
パターンを使って、ビューと
コントローラに最新の状態変化を反映させ続けます。一方、ビューとコントローラは
Strategy
パターンを実装します。コントローラはビューのストラテジーであり、別の振
る舞いが必要な場合は別のコントローラと簡単に交換できます。ビュー自体も内部で
Composite
パターンを使用して、ウィンドウ、ボタン、その他の表示要素を管理します。
詳しく見ていきましょう。
表示は、ネストされたひとまとまりのウィンドウ、
パネル、ボタン、テキストラベルなどで構成されま
す。表示要素はコンポジット(ウィンドウなど)か
リーフ(ボタンなど)になります。コントローラが
ビューに更新するよう通知する際には、コントロー
ラは最上位のビュー要素に通知するだけで済み、コ
ンポジットが残りの面倒を見てくれます。
モデルは
Observer
パターンを実装し、状態変化
が起こったときに、そのモデルに注目しているオ
ブジェクトを更新します。
Observer
パターンを
使うと、モデルをビューとコントローラから完全
に独立した状態に保ちます。これによって、同じ
モデルに対して別のビューを使ったり、同時に複
数のビューを使うこともできます。
モデル