MVCの本質
MVCの古典的定義を読んで思ったこと。
MODELS - VIEWS - CONTROLLERS
http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf
モデル・ビュー・コントローラ - Trygve Reenskaug
http://d.hatena.ne.jp/digitalsoul/20100913/1284330448
Model, View, Controllerそれぞれの依存関係が重要なのだと思いました。
今までMVCとは、Modelがどの範囲までカバーしているのかとか、Controllerは何をするのかとか、そういった役割についての定義だと思っていました。M,V,Cそれぞれの役割についてはさまざまな解釈があり、どれが正しいのかを判断する客観的な指標がありません(あるいはどれを正しいとしても問題ない)。
しかし、依存関係ありきで考えるとおのずとそれぞれの役割も定まることに気が付きました。
MはVもCも知らない。なのでModelは、単純に対象を表したオブジェクトになる。
VはCを知らずMを知っているので、Mのデータを視覚的に表すためのオブジェクトになる。
CはユーザのインプットをMやVに反映させる。
DBデータなどはCでとってきてMに入れてVにわたすのがいいのかな。