MVCとdelegate

Engineクラスの実装でだいぶ行き詰まっている。
MVCアーキテクチャーは今まであまり意識していなかったが、幸い先生=スーパーハカー様&教科書がよかったせいか、うまく理解して取り込めていたようである。
例えば、MFCでとりあえずプロトタイプする時には、何でもかんでもViewのメンバ変数にして、Viewのイベントハンドラ毎に処理を実装する。
とりあえずアイデア検証、動作検証はこれでやるが、これはMもVもCもごっちゃまぜ。
動くようになったらリファクタする。
Engineクラスを作り、Viewは表示+イベントハンドラのみにして、Engineのプロパティとメソッドを使用するのみにすること、である。
SDIでDocument-Viewアーキテクチャーで実装すれば、ファイルハンドルもEngineでは不要になる。
pDoc->piEngine->Draw( pDC );
とかで、表示はチリバツ


さて、iPhoneSDK。
View-based applicationを作ると、スケルトンでその名もViewControllerというクラスができる。
なにせ名前がViewとController、簡単なアプリであれば、ここにModel自身もメンバとして組み込んで、はいおしまい、のお手軽プログラミングが可能である。
さて、複数のViewControllerなどでModelを共有したいときには、どうする?
どうもdelegateが鍵の様なのだ。
週末使っていろいろ調べたが、まだいまいちつかめていない。