第30回Smalltalk勉強会
- just_do_neet
- 2736
- 1
- 3
- 0
コントローラが頑張るMVC。原始。モデルとビューはほとんど何もしない。拡張性低い。モデルを複数のビューから見ることができない。 #st_study
2011-03-30 19:36:24依存性伝搬もたいそうナイーブな実装であった。弱い参照がなかったので、下手をすると依存物がゾンビのように残る可能性があった #st_study
2011-03-30 19:42:41SqueakのベースはApple Smalltalk。Apple Smalltalkは、そのプラットフォームのLisaなどが貧弱で貧弱で仕方ない環境だったので、80からクラスやメソッドが削られている。 #st_study
2011-03-30 19:42:45手でHTMLからソースコード抜いてインデント抜かしたりしたけど、フォーマッタあったじゃないか orz #st_study
2011-03-30 19:46:44メニュー系がクラス変数に格納されているあたりが古風なコントローラ。当時はメニュー生成のコストが馬鹿にならなかった。 #st_study
2011-03-30 19:48:20最初期のMVCは単にモデルとビューとコントローラを分けているだけだった。ブレークスルーになったのは依存性機構。 #st_study
2011-03-30 19:52:35ModelのメソッドをControllerから明示的に叩いているので、今見ると拡張性に乏しく、役割分担がおかしい。 #st_study
2011-03-30 19:54:27クラスサイドのexampleカテゴリのexampleメソッド。Unitテストが広まって必要性が弱まったというけど、やっぱりあった方が便利。デバッガのエントリとして。 #st_study
2011-03-30 19:57:02大きな円と小さな円が二つでアメリカネズミ。青木氏はモロな画像を使用していたらしいが、今日の講師は少し腰が引けている :-p #st_study
2011-03-30 20:00:56change:の引数は変更された属性のキー。変更された関係するところだけupdate:で実際にViewを更新する。 #st_study
2011-03-30 20:04:11Modelに状態を変更するメソッドを持たせるようにしたものの、Controllerがそれをキックするメソッドを明示的に定義している。そのため、Controllerを使い回すことができない。頑張るパターンより進歩だが、まだ足りない。 #st_study
2011-03-30 20:06:50プラガブルMVCまでいくとついてこれない人が出てくると予想。しかしMVCの妙はここにあると思う。 #st_study
2011-03-30 20:10:29プラガブルMVCが無ければ「デザイン・パターン」も産まれたかどうか。 QT @umejava: プラガブルMVCまでいくとついてこれない人が出てくると予想。しかしMVCの妙はここにあると思う。 #st_study
2011-03-30 20:11:27ModelもViewもControllerも、releaseメソッドで資源解放操作でイロイロ頑張っている。 #st_study
2011-03-30 20:12:53続いて、PluggableMVC。今の主流。依存性を利用するMVCの発展版。VCがモデルから独立。MをVCに差し込んで使う。 #st_study
2011-03-30 20:15:05Controllerにモデルのメソッドをキックするためのメソッドを定義するのではなく、メソッド名をSymbolで登録しperform:を駆使して間接的にモデルをキックする。 #st_study
2011-03-30 20:17:17フィールドは準備されていたものの、Lazy Initializationがなされていないサンプルコードが発見される。20年以上誰にも気付かれなかった? #st_study
2011-03-30 20:21:31