MVC

日経ソフトウェアの2007年3月号ではMVCの解説が溢れている。別冊から始まり、特集では8ページをかけ、果ては総本山Smalltalk道場でもみっちりと説明がされている。
別冊と特集での解説にパッと見たところ、特に目新しい言い回しはなかったので、軽くスルー。いざ、Smalltalk道場へ。
これがまたさすがMVCの本家だけあって面白い。Smalltalkの文法に疎いんだけど、なんとなくで読める。「オブジェクトを操作する(メッセージを送る)」という感覚で読むと、なんとなくで読める。面白い。
解説をこくぼ的にまとめるとこんな感じでしょうか。

  • ビュー(V)とコントローラ(C)で1セット(VC)
  • モデル(M)はビューとコントローラから独立している(M/VC)
  • 1つのビュー/コントローラに対して複数のモデルを対応できる
    • モデルの差し替えは簡単に可能
  • 複数のビュー/コントローラで1つのモデルを共有することもできる
    • モデルの属性を変更した場合は全てのビュー/コントローラへ通知される

特に「モデルを多様なVCに差し替えて使う」というのがプラガブルMVCなのだそうです。なるほど、これがプラガブルなんですね。Smalltalkは奥が深い。