Skip to content

DDDアーキテクチャに基づくディレクトリ構成の再編成 #2

@sakaritoru

Description

@sakaritoru

概要

現在のプロジェクト構造をDomain-Driven Design (DDD)のベストプラクティスに従って再構成する必要があります。

目的

  • ドメイン駆動設計の原則に従った明確な責任分離
  • 保守性とスケーラビリティの向上
  • コードの再利用性の向上

新しいディレクトリ構成

graph TD
    A[src] --> B[domain]
    A --> C[application]
    A --> D[infrastructure]
    A --> E[interfaces]
    B --> F[entities]
    B --> G[valueObjects]
    B --> H[repositories]
    B --> I[services]
    C --> J[useCases]
    C --> K[services]
    D --> L[repositories]
    D --> M[external]
    E --> N[api]
    E --> O[controllers]
Loading

工数見積もり

合計: 3人日

作業手順と詳細工数

  1. 準備作業 (0.5人日)

    • 新しいディレクトリ構造の作成
    • 既存コードの影響範囲の分析
  2. ドメイン層の実装 (1人日)

    • エンティティの移行と再構成
    • 値オブジェクトの定義
    • ドメインサービスの実装
  3. アプリケーション層の実装 (0.5人日)

    • ユースケースの実装
    • アプリケーションサービスの移行
  4. インフラストラクチャ層の実装 (0.5人日)

    • リポジトリの実装
    • 外部サービス統合の移行
  5. インターフェース層の実装 (0.5人日)

    • APIエンドポイントの再構成
    • コントローラーの実装

移行計画

  1. 各レイヤーのディレクトリを作成
  2. 既存のコードを適切なレイヤーに移動
  3. 必要に応じてインターフェースを定義
  4. 依存関係の整理とDIの実装
  5. ユニットテストの追加/更新

注意事項

  • 既存の機能を維持しながらの段階的な移行
  • 各レイヤー間の依存関係は内側に向けて設定
  • インターフェースを活用した疎結合な設計を心がける

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions