
you are here
523
12
章
Compound
パターン
MVC
(モデル
/
ビュー
/
コントローラ)との出会い
ビュー
コントローラ
class Player {
play(){}
rip(){}
burn(){}
}
モデル
Apple Music
(
iTunes
)などのお気に入りの
MP3
プレーヤーを使っているとしましょう。その
プレーヤーのインタフェースを使って、新しい曲の追加、再生リストの管理、曲名の変更がで
きます。プレーヤーは、すべての曲とその曲に関連する名前やデータを持つ小さなデータベー
スを管理しています。また、曲の再生も行い、再生する際には常に現在の曲名、再生時間など
でユーザインタフェースが更新されます。
この背後には、モデル
/
ビュー
/
コントローラがあります。
コントローラが
モデルを操作す
る
モデルはビューに状態
変化を通知する
ビュー表示が
更新される
「新しい曲を再
生する」
コントローラは、
プレーヤーのモデ
ルに曲の再生を始
めるよう求める
モデルは状態が変
わったことをビュー
に通知する
更新された曲表示を見
て、新しい曲を再生し
て聴く
モデルには、
MP3
の管理と再生に必
要なすべての状態、データ、アプリ
ケーションロジックが含まれます。
インタフェースを
使って、アクショ
ンがコントローラ
に伝わる