Overview - horihorikeitaa/PomofocusGuardApp GitHub Wiki

アーキテクチャ概要

ポモフォーカスガードアプリは、「機能ベースのクリーンアーキテクチャ + Reactiveパターン」を採用しています。

アーキテクチャの特徴

  1. 機能(Feature)ベースのディレクトリ構造

    • 技術的な関心事ではなく、機能に基づいてコードを整理
    • 関連するドメインロジック、データアクセス、UI要素を機能ごとにグループ化
  2. クリーンアーキテクチャの原則

    • 依存性の方向を内側に向ける
    • ドメインロジックを独立させ、フレームワークや外部依存から保護
    • 層間の明確な境界とインターフェース
  3. リアクティブな状態管理

    • Recoilを使用したReactive Programmingパターン
    • アトミックな状態管理と派生状態の効率的な計算
  4. プレゼンテーションとビジネスロジックの分離

    • カスタムフックによるViewModelパターンの実装
    • UIとビジネスロジックの明確な分離

レイヤー構造

各機能は以下の4つのレイヤーで構成されています:

1. ドメインレイヤー (Domain)

  • エンティティとビジネスルール
  • ユースケース(インタラクター)
  • リポジトリとサービスのインターフェース
  • 外部依存のない純粋なビジネスロジック

2. データレイヤー (Data)

  • リポジトリ実装
  • 外部APIとの連携
  • データマッピング
  • 永続化

3. プレゼンテーションレイヤー (Presentation)

  • カスタムフック(ViewModel的役割)
  • UIへのデータ提供と状態管理
  • ユーザーアクションのハンドリング

4. UIレイヤー (UI)

  • Reactコンポーネント
  • 画面レイアウト
  • スタイリング
  • ユーザー入力
⚠️ **GitHub.com Fallback** ⚠️