k-masashi / try-react-native-redux-ddd

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

try-react-native-redux-ddd

これは何か

React Native + Redux + レイヤードアーキテクチャ(DDD)の実装の素振り。 記事(Article)を取得し表示するサンプル。

アーキテクチャ

スクリーンショット 2022-11-14 18 41 12

レイヤー

このサンプルでは下記の4つのレイヤーに分けている。

UI

View, Presenterの役割を担う。フロントエンドの入出力のコントローラーとしての役割を持つ。

UseCase

アプリケーションのユースケース。 ※Dispatchを行っているレイヤー

Domain (DIP)

ドメインを取り扱うレイヤー。 このレイヤーが技術的な問題でなく、ドメインに焦点を当てるため、依存関係逆転の原則で依存をドメイン層に向けている。

Infra

技術的な関心ごとを扱うレイヤー。

利用技術

  • React Native
  • React Redux(ToolKit, Thunk)
  • InversifyJS

DI

DIを実現するために、InversifyJSを利用。 各レイヤーを独立させるために、DIコンテナをinversify.config.tsに定義している。

https://github.com/k-masashi/try-react-native-redux-ddd/blob/main/src/config/inversify.config.ts

About

License:MIT License


Languages

Language:Java 36.4%Language:TypeScript 22.7%Language:C++ 16.9%Language:Objective-C++ 10.3%Language:Objective-C 5.6%Language:Ruby 3.8%Language:Starlark 1.4%Language:JavaScript 1.3%Language:Shell 1.1%Language:CMake 0.7%