MVCアーキテクチャ
MVCアーキテクチャって基本の基本っぽいけど、今まで、概念としてちょっと曖昧に捕らえてたので、改めて勉強してみた。see wikipedia:Model_View_Controller。
- ユーザは、viewにあるボタンAを押す
- viewは、「ボタンAが押されたよ」とcontrollerに通知する
- controllerは、「Aが指示されたよ」とmodelに通知する
- modelは、内部のデータを編集する。必要に応じてDBからデータを引っ張ったり、更新したりする。
- viewは、modelから必要な情報を取り出す。
- ユーザは、次の画面を見る。
- viewとcontrollerには状態っていう概念は不要だけど、modelには状態っていう概念は必要、と言えそう。
- (先進的ではない)Webアプリケーションはステートレス。ステートレスな処理系の場合、modelはcontrollerから呼び出されると一時的に利用するインスタンスを生成する、みたいなイメージかな。
- 5.において、主体はviewだと考えてよさそう。
- 図の矢印は、主体から通知対象への矢として引いてます。
- DBからアプリケーションへ通知は、相当短いライフサイクルなはずなので、この粒度では通知しない、と捉えてみた。