背景
前回、Redux+RxSwift
のデーターフローをイメージで覚えようとしました。
個人的には文章を読むだけより、色付きのイメージを覚えておきたいというのが役立ちました。
今回CleanArchitecture
をRedux
と一緒に使用することになったのでどこがどうなっているのか前回のイメージを使用して記す。
なお、ディレクトリ構成等は人によって違うと思います。
やること
- Redux + CleanArchitecture を掛け合わせた時どこに何があるかとか
やらないこと
- レイヤー毎の詳しい説明
こちらあたりが詳しく書かれております。
参考:
実装クリーンアーキテクチャ
その前に
軽くそれぞれのアーキテクチャの説明。
Redux
- データの動きは一方向
- 通信系処理などはActionCreatorに積まれることが多い
- ActionCreatorとMiddlewareに処理を積むことで拡張性が上がる
- ちょくちょくRxSwiftとセットで利用される
- GUIアーキテクチャ
Clean Architecture
- Modelの内部部分まで切り込んだ設計
- データベースへのアクセスレイヤーなど各責務を持ったレイヤーが細かく分かれている
- MVVM+CLや、Redux+CLといったような活用が可能
構造イメージ
使用上のポイント
-
State
Reducer
Action
はEntity
-
ActionCreator
(データをどうこうするロジック)はUseCase
-
Reducer
によって変更されたState
はRxSwift.subscribe
されることでView
に反映される