思い立ったが吉日!

iOSが好きです。

MVC

MVC

先輩社員に勧められた木下誠さんの「iOS開発におけるパターンによるオートマティズム」という本を読み進める。

iOSアプリ開発においてViewController部分は肥大化しやすく、クラス設計する際にMVCの切り分けに悩む事があった。

今回はこの3点を覚えておきたい

* Modelは他のレイヤから独立している
* Viewはモデルに依存し、Controllerから独立している
* ControllerはModelとViewに依存している

クラスの依存の判定はそのクラスのヘッダファイルをインポートしているかで判断する

すなわち

* Modelは他のクラスから独立しているので、関連のViewやControllerクラスのヘッダファイルをインポートしない
* Viewはモデルクラスのヘッダファイルをインポートする
* ControllerはView,Modelをインポートする

これらのルールが守られてなければ、クラスの設計がうまく行っていないと考えられる。