LoginSignup
0
0

Cocoa MVC アーキテクチャについて

Last updated at Posted at 2023-05-28

Cocoa MVCについて

個人的な学んだ復習メモ

Cocoa MVC 図解

スクリーンショット 2023-05-28 9.48.21.png
スクリーンショット 2023-05-28 9.48.35.png

設計とは

人間にわかりすく小さい機能ごとにソースコードを分けて、改修や追加機能時に関係のないファイルやコードを見なくてもいいようにするための分け方

Model,View,Controller役割

Model

データ、いいね数、年齢とかそれをクラスや構造体にまとめたもの
アプリケーションがどのように動作するべきかコア的な部分をきめるもの

View

画面の描画、人の目につくパーツたち
操作を受け付けるのものたち(Buttonなど)

Controller

タップされたらの処理を書くなど、何かしらの入力に対する適切な処理を行う
(APIなどサーバーと通信、APIなどがモデルにデータを返す、モデルを受け取りViewに返すなど)

なぜ?ViewとModelが完全に独立

原初MVCでは View が Model を監視していためViewの再利用性が低かった。
View も Model のように再利用性の高くするために独立し、両方を Controller が参照する形になった。

Controller の再利用性をあきらめた設計

Cocoa MVCにおいてはController が他のすべてを参照する形になる
ControllerがViewとModelに依存している(Controllerを機能させるためにはViewとModelが必要)になるので再利用性が低い。

まとめ

ModelとViewがお互いのことをまったく知らないのがCocoaMVCの特徴
MVCの悪いところ(Controllerに処理が集中しての記述が多いなど)を改良してのが今トレンドになってたりするアークテクチャだったりする
MVCは逆に依存関係をViewControllerに押し込めたともいえる

おわり

クラスや関数がやるべき役割を見定めて依存を減らしていくことを意識して設計をする、コードを書いていきたいです!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0