Open12
MV State Pattern

楽天さんの新規アプリ開発での事例
- ワールドワイド、膨大なアクティブユーザー数を想定
- Screen 80+
- チーム小〜中

- SwiftUI
- Minimum Target 16.4

最新の OS の 2個前の minimum に設定

既存のプロダクトでは MVVM
- RxSwift かな

SwiftUI と MVVM の相性が悪い
SwiftUI Data Binding を活用が ViewModel ではできない

MV State Pattern

Aggregate Root Model
@StateObject
@EnviromentObject
これまでの ViewModel や Presenter のようなものに見えるけど違いは?

Service
Repository に近い
外部サービスとの境界に位置するものという理解で合ってる?

Fat Aggregate Model 問題が起こりやすい?

Fat View になりやすい?

関心の分離が必要なのは、テストを書きやすくすることだと思う
Aggregate Model はテストは書きやすい?