DDD の基本概念 — ドメインオブジェクト・集約・リポジトリ・ユビキタス言語
DDD の中核用語を整理。ドメイン / ドメインオブジェクト / ドメインモデル / ビジネスルールの定義、エンティティと値オブジェクトの違い、集約・リポジトリの役割、ユビキタス言語と境界づけられたコンテキスト (Bounded Context) の考え方を具体例で解説します。
DDD の中核用語を整理。ドメイン / ドメインオブジェクト / ドメインモデル / ビジネスルールの定義、エンティティと値オブジェクトの違い、集約・リポジトリの役割、ユビキタス言語と境界づけられたコンテキスト (Bounded Context) の考え方を具体例で解説します。
Laravel 未経験でも大丈夫。Vue/React など SPA 開発者を対象に、API バックエンドとしての Laravel とドメイン駆動設計 (DDD)・クリーンアーキテクチャをステップバイステップで解説する全 20 章のガイド。値オブジェクト・エンティティ・集約・リポジトリの理論から、Laravel プロジェクトでの実装パターン・トランザクション・テスト・認証までを網羅します。
従来の Laravel MVC とクリーンアーキテクチャを比較し、プレゼンテーション / アプリケーション / ドメイン / インフラの 4 層構成、依存性逆転の原則 (DIP)、ディレクトリ構成、Eloquent Model とドメインエンティティの分離を解説します。
DDD のドメインサービス (Domain Service) を割引計算・在庫引当・送料計算の実装例で解説。複数集約にまたがりインフラ非依存のロジックを配置する判断基準、ユースケース (アプリケーションサービス) との違い、貧血ドメインモデルを避ける設計指針をまとめます。
従来の Laravel MVC で複雑なビジネスロジックを扱うと生じる Fat Controller・Fat Model・ロジック散在の問題を整理し、DDD を採用することで得られる「ビジネスルールの明確化・変更対応力・テスタビリティ・チームコミュニケーション」の 4 つのメリットを解説します。
Vue/React など SPA 開発経験者に向けた Laravel での DDD・クリーンアーキテクチャ入門。本ガイドの対象読者・前提知識・全 20 章の構成と、DDD / クリーンアーキテクチャの全体像を解説します。
HTTP リクエスト/レスポンスを扱うプレゼンテーション層の設計を解説。FormRequest による形式バリデーション、ドメイン層との役割分担、Command への変換、薄い Controller (Thin Controller)、API Resource、ミドルウェア認証と Policy 認可をまとめます。
本ガイド全 20 章の要点 (DDD の戦術的設計 / クリーンアーキテクチャ / 実践テクニック / 総合実践) を整理し、値オブジェクト → ユースケース層 → リポジトリ → ドメインイベントという段階的導入のロードマップ、よくある質問、推奨書籍・コミュニティ・学習パスをまとめます。
アプリケーション層 (ユースケース層) の設計を解説。ドメインオブジェクトの調整・トランザクション管理・入出力変換の責務、CQS 原則による Command / Query 分離、Command オブジェクトと DTO、Query 専用サービス、単一責任などの設計指針をまとめます。
これまで学んだ DDD・クリーンアーキテクチャを統合し、注文作成・確定 API を題材に 4 層 (プレゼンテーション / アプリケーション / ドメイン / インフラ) を実装。各層の責務、データ変換の流れ、層別テスト (ドメイン / UseCase / Repository) を通して全体像をまとめます。
DDD の集約 (Aggregate) を Order 集約を題材に解説。集約ルートを唯一のアクセス起点とする理由、集約境界の決め方 (ライフサイクル / 整合性 / トランザクション / 参照)、即時整合性と結果整合性の使い分け、集約間は ID 参照、スナップショットの考え方をまとめます。