Closed takeshi-1000 closed 2 years ago
何が悪いという話ではないですが、MVCでのModelというのは自由すぎるため、どのような場合にどのようなModelを使うかというのがしっかり決まった上でメンバーが納得感があればいいですが、その自由な設計自体難しいですからね。オレオレModel設計になったときの無秩序感がある。
その解決策の一つとしてMVVMやMVPを採用することはコンセンサスが取りやすい。とくにMVVMはModelの情報をViewModelを利用してViewにバインドすることが必須のため制約があります。オレオレMVVMにはなりにくい。
https://engineer.recruit-lifestyle.co.jp/techblog/2019-12-19-ios-architecture/
個人的にはこの辺りがデータの流れが追いやすく、しっくりくるのと、今まで実装したアプリにも問題なく実装できそうなイメージ
SwiftUIを使うと V VM が変わってくるんだろうけど
UIKitを使う前提であれば… PDSに基づいて、下記を選択
Modelとのインターフェースは、下記に届める
ViewとControllerが蜜結合された、UIViewControllerを使い、UIViewControllerがライフサイクルの影響を受けるので、その辺りのテストがしづらい
Cocoa MVC はGUIアーキテクチャの元祖のMVCと比べて、ViewがModelに依存しない形となり、Viewの再利用性を高めているっぽい
GUIアプリケーションにおいてアーキテクチャがなぜ必要かorメリット ※今までのiOSアプリケーション開発における経験則に基づいている
デメリット
VIPER 研究本 メモ
https://github.com/takeshi-1000/my_memo/issues/25 この辺りもやるので、まだアーキテクチャを検討できる段階にない
Presenter, Interactor は極力Viewに依存しない作りにし、違うプラットフォームでも動作することが望ましい
あらそうなのか・・・ ちょっともう少し読んでみようかな
https://github.com/takeshi-1000/my_memo/issues/24#issuecomment-1066709151 これ読んで、どういうふうにアーキテクチャを決めていくべきか考えたいなと思ったこと