React Native + Redux + レイヤードアーキテクチャ(DDD)の実装の素振り。 記事(Article)を取得し表示するサンプル。
このサンプルでは下記の4つのレイヤーに分けている。
View, Presenterの役割を担う。フロントエンドの入出力のコントローラーとしての役割を持つ。
アプリケーションのユースケース。 ※Dispatchを行っているレイヤー
ドメインを取り扱うレイヤー。 このレイヤーが技術的な問題でなく、ドメインに焦点を当てるため、依存関係逆転の原則で依存をドメイン層に向けている。
技術的な関心ごとを扱うレイヤー。
- React Native
- React Redux(ToolKit, Thunk)
- InversifyJS
DIを実現するために、InversifyJSを利用。
各レイヤーを独立させるために、DIコンテナをinversify.config.ts
に定義している。
https://github.com/k-masashi/try-react-native-redux-ddd/blob/main/src/config/inversify.config.ts