issues
search
shusuke0812
/
KikurageApp-iOS
🚀 Dev - Kikurage Cultivation App(Recording、Monitoring of temperature and humidity)
MIT License
6
stars
1
forks
source link
【全般】Rxを導入してViewModel-ViewのDataBindingを実現する
#30
Closed
shusuke0812
closed
2 years ago
shusuke0812
commented
3 years ago
💪 1st STEP
👀 参考
RelayとSubjectの違い:
https://egg-is-world.com/2018/08/11/rxswift-behaviorrelay-publishrelay/
shusuke0812
commented
2 years ago
VCでエラーのハンドリングは行わないようにする。VMでハンドリングする。
理由
テストが書きやすくなる
View -> SwiftUIの移行も楽になる
例
エラー or notでViewの表示内容が異なる場合はViewModelで出し分けしてViewに表示させるものをVCに伝えるようにする
shusuke0812
commented
2 years ago
リポジトリ:
データを永続化し再構築する処理を抽象的に扱うオブジェクト
データストアにデータを書き込む、読み取るのをリポジトリに依頼 ・ データの再構築をリポジトリに依頼
DB / Local storage / WebAPI にアクセスするオブジェクト
どこからデータを取ってくるかはVM以下の層は知る必要がない = Firebaseなどのライブラリ依存はRepository層に留めるべき(ライブラリに変更があった場合の影響範囲を小さくするという考え)
取得したデータの加工は他のオブジェクトに任せる
💪 1st STEP
👀 参考