takeshi-1000 / my_memo

0 stars 1 forks source link

アーキテクチャの決め方基準 #26

Closed takeshi-1000 closed 2 years ago

takeshi-1000 commented 2 years ago

https://github.com/takeshi-1000/my_memo/issues/24#issuecomment-1066709151 これ読んで、どういうふうにアーキテクチャを決めていくべきか考えたいなと思ったこと

takeshi-1000 commented 2 years ago

https://fr.slideshare.net/kenjitanaka58/ios-71487335

スクリーンショット 2022-03-14 22 23 00
takeshi-1000 commented 2 years ago

https://qiita.com/yimajo/items/5a7333fd709e625b60da#%E8%A8%AD%E8%A8%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6mvc%E3%82%84mvvm%E3%81%AA%E3%81%A9%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

何が悪いという話ではないですが、MVCでのModelというのは自由すぎるため、どのような場合にどのようなModelを使うかというのがしっかり決まった上でメンバーが納得感があればいいですが、その自由な設計自体難しいですからね。オレオレModel設計になったときの無秩序感がある。

その解決策の一つとしてMVVMやMVPを採用することはコンセンサスが取りやすい。とくにMVVMはModelの情報をViewModelを利用してViewにバインドすることが必須のため制約があります。オレオレMVVMにはなりにくい。

takeshi-1000 commented 2 years ago

https://engineer.recruit-lifestyle.co.jp/techblog/2019-12-19-ios-architecture/

個人的にはこの辺りがデータの流れが追いやすく、しっくりくるのと、今まで実装したアプリにも問題なく実装できそうなイメージ

SwiftUIを使うと V VM が変わってくるんだろうけど

takeshi-1000 commented 2 years ago

UIKitを使う前提であれば… PDSに基づいて、下記を選択

どのアーキテクチャも共通

Modelとのインターフェースは、下記に届める

MVC(Cocoa MVC)

スクリーンショット 2022-03-15 7 28 06
takeshi-1000 commented 2 years ago

GUIアプリケーションにおいてアーキテクチャがなぜ必要かorメリット ※今までのiOSアプリケーション開発における経験則に基づいている

デメリット

takeshi-1000 commented 2 years ago

https://medium.com/swift-column/ios-2017-4f04d00a5804

takeshi-1000 commented 2 years ago

VIPER 研究本 メモ

初期

最近

takeshi-1000 commented 2 years ago

https://github.com/takeshi-1000/my_memo/issues/25 この辺りもやるので、まだアーキテクチャを検討できる段階にない

Presenter, Interactor は極力Viewに依存しない作りにし、違うプラットフォームでも動作することが望ましい

あらそうなのか・・・ ちょっともう少し読んでみようかな