MVC pattern
アプリケーションを3個のコンポーネント(ModelーViewーController)に構成して開発するデザインパタン
動作
要請 (request)
User → Controller
応答 (response)
User ← View ← Controller ↔︎ Model
Model
アプリケーション 情報とデータを見せて加工するコンポーネント
→ DB、定数、初期値、変数など。。
規則
- クライアントが操作する全てのデータを持つ
- 独立 (view, controllerに従属しない)
- 変更イベント処理必要 (model変更について、イベント発信および受信処理)
View
UI要素を表すコンポーネント
クライアントからデータ、オブジェクト入力とクライアントに出力を担当
規則
- データ出力と入力だけ実行しない (データを内部に保存しない)
- 独立 (model, controllerに従属しない)
- 変更イベント処理必要 (view変更についてイベント発信と受信処理)
Controller
データとUI要素を繋ぐコンポーネント
規則
- modelとviewを把握する (modelとviewを繋ぐため)
- modelとviewのモニタリング
(modelとviewの変更イベントが起きると、解析してデータを伝える + メインロジックを構成する)
MVCパタンを使う理由
メインテナンス、拡張、柔軟性の向上
→ 役割に応じて開発する部分が分離されるせいでプログラマーは自分が受け持つ部分に集中できる