Spring Boot DDD 実践:注文システムで学ぶドメイン設計

DDDを学びたいけれど 「実際のプロジェクトにどう適用すればいいのか」途方に暮れている方のための講座です。 この講座では Spring Bootをベースに**実際の注文システムを直接作りながら** DDD設計を最後まで実装します。 単なる理論ではなく 「実務ですぐに使える構造とコード」を中心に進められます。 受講後には ✔ DDDベースのプロジェクトを自ら設計でき ✔ 実務レベルの構造を直接実装できるようになります

難易度 初級

受講期間 2か月

Java
Java
REST API
REST API
Spring Boot
Spring Boot
MSA
MSA
backend
backend
Java
Java
REST API
REST API
Spring Boot
Spring Boot
MSA
MSA
backend
backend

学習した受講者のレビュー

4.7

5.0

소준영

100% 受講後に作成

企業課題テストに取り組むために役立つ講義を探していたところ、この講義に出会いました。 オーバーエンジニアリングにならず、課題に適したレベルの開発を身につけるためには、ある程度の拡張性を考慮しつつ、マルチモジュールやMSAのような構造に容易に変換できるような設計をすべきだと考えていました。 DDDの概念については大まかに知っていましたが、そのほとんどがMSAに特化した内容であり、そんな中でモノリスベースから始まる講義があったため受講することにしました :) 適切なレベルのDDDの核心概念や、ヘキサゴナルの基本アーキテクチャなどが非常に役に立ったと思います。 ただ、講義の中で頻繁におっしゃっていたように、こうしたアーキテクチャを課題レベルで適用するのは難しいと判断しました。しかし、凝集度を高め結合度を下げることで拡張性を向上させる際、どのような部分を考慮すべきかがより明確になりました。DDDを完全に踏襲するのではなく、DDDの核心原則を取り入れた設計としてアピールできるのではないかと考えています。 知らないで見るとただ重くて難しく感じられたDDDをより簡単に理解でき、一段階成長することができた講義でした。 良い講義をありがとうございました :) 試験、頑張ってきます。

受講後に得られること

  • DDD設計を開始できるSpring Bootベースの開発環境を自ら構築することができます。

  • DDDプロジェクトを開始するための基本的なプロジェクト構造と設計フローを理解することができます。

  • DDD学習のための、実際に動作するプロジェクトの基盤を自ら作成することができます。

授業紹介

このクラスはSpring BootベースのJavaバックエンドプロジェクトを中心に、
REST APIの設計から始めて、段階的にDDDとMSA構造へと拡張していく過程を扱います。

そして、DDD(Domain Driven Design)の核心概念とともに
Clean Architecture / Hexagonal Architecture構造に基づき、
ドメインをどのように設計すべきか、全体の流れを理解します。


なぜDDDが必要なのか?

従来のモノリシック構造では、次のような問題が発生します。

  • ビジネスロジックと技術コードが混在する

  • 変更時の影響範囲が大きくなる

  • ドメインルールが次第に曖昧になる

DDDはこれらの問題を解決するために
ドメイン中心に設計する方式を提案します。



全体構造の理解(核心)


1. Clean Architecture の構造

  • Entities (ドメインの核心)

  • Use Case (ビジネスロジック)

  • Interface Adapter (Controller, Presenter など)

  • Framework (DB, Webなど)

核心ルール:

👉 依存性は常に外側から内側へと流れる

つまり、
DBや外部システムはドメインを知らなくてもいいですが、
ドメインは外部技術に依存してはいけません。


2. Hexagonal Architecture (Ports & Adapters)

構造をより具体的に見ると、次のようになります。

  • アプリケーションコア

    • ユースケース

    • Entity

  • Input Port / Output Port

    • 外部と接続されるインターフェース

  • アダプター

    • Web Adapter (Controller)

    • Persistence Adapter (DB)

    • External System Adapter

核心概念:

👉 ビジネスロジックはポートを通じてのみ外部と接続される


主要構成要素のまとめ

Entity

  • ドメインの核心オブジェクト

  • ビジネスルールを含む

  • 外部技術と完全に分離される

ユースケース

  • 実際のサービスロジックを実行

  • Entityを組み合わせて機能を実装

Port

  • 外部と接続されるインターフェース

  • Applicationが依存する境界

Adapter

  • Portを実装する実際の技術コード

  • DB、API、外部システムとの接続を担当


Bounded Context(境界づけられたコンテキスト)の概念

同じ用語でも、コンテキストによって意味が異なる場合があります。

例:

  • 注文(Order) = 注文生成の観点

  • 注文(Order) = 決済処理の観点

したがって
👉 コンテキストごとにモデルを分離することで複雑さが軽減されます


まとめ(このレッスンの核心)

この授業で必ず持ち帰るべき核心は次になります。

  • ドメインは常に中心に位置しなければならない

  • ビジネスロジックは技術コードと分離しなければならない

  • 外部システムはAdapterを通じてのみ接続する

  • 構造を分ける理由は「保守性と拡張性」のためだ


次ステップのご案内

それでは、次のレッスンでは
👉 現在のモノリス構造をベースに
👉 実際にDDD構造へリファクタリングする過程を進めていきます。

概念を理解した状態で
コードに適用する流れを繋げてみることが核心です。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • DDDを勉強したいが、プロジェクトをどのように始めればよいか分からず途方に暮れている開発者

  • Spring BootベースでDDDプロジェクトを初めて作ってみたいバックエンド開発者

  • 実務で活用できるDDDプロジェクトの構造と開始方法を学びたい開発者

前提知識、
必要でしょうか?

  • Java基本文法の理解

  • Spring Bootの基本使用経験

こんにちは
truthwingです。

63

受講生

3

受講レビュー

2

回答

4.7

講座評価

2

講座

15年目の現役エンジニア ・ 月1000万円の収益構造を作ったエンジニア

単にコーディングを教えるのではありません。
「開発が自分の進むべき道なのか」を判断できる基準を提供します。

非専攻者、就職準備生、キャリアチェンジを悩んでいる方々と
現実的なキャリア戦略を共に設計します。

もっと見る

カリキュラム

全体

18件 ∙ (2時間 39分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

3件

4.7

3件の受講レビュー

  • ffdfig1967님의 프로필 이미지
    ffdfig1967

    受講レビュー 3

    平均評価 5.0

    修正済み

    5

    100% 受講後に作成

    企業課題テストに取り組むために役立つ講義を探していたところ、この講義に出会いました。 オーバーエンジニアリングにならず、課題に適したレベルの開発を身につけるためには、ある程度の拡張性を考慮しつつ、マルチモジュールやMSAのような構造に容易に変換できるような設計をすべきだと考えていました。 DDDの概念については大まかに知っていましたが、そのほとんどがMSAに特化した内容であり、そんな中でモノリスベースから始まる講義があったため受講することにしました :) 適切なレベルのDDDの核心概念や、ヘキサゴナルの基本アーキテクチャなどが非常に役に立ったと思います。 ただ、講義の中で頻繁におっしゃっていたように、こうしたアーキテクチャを課題レベルで適用するのは難しいと判断しました。しかし、凝集度を高め結合度を下げることで拡張性を向上させる際、どのような部分を考慮すべきかがより明確になりました。DDDを完全に踏襲するのではなく、DDDの核心原則を取り入れた設計としてアピールできるのではないかと考えています。 知らないで見るとただ重くて難しく感じられたDDDをより簡単に理解でき、一段階成長することができた講義でした。 良い講義をありがとうございました :) 試験、頑張ってきます。

    • truthwing
      知識共有者

      わあ!素敵な受講レビューをありがとうございます。 DDDを導入する意図をお伝えしようとしたのですが、しっかりと理解していただけたようで、とてもやりがいを感じています! 試験に合格されることを願っています!!

  • sasas님의 프로필 이미지
    sasas

    受講レビュー 100

    平均評価 5.0

    4

    100% 受講後に作成

    • libido90090님의 프로필 이미지
      libido90090

      受講レビュー 5

      平均評価 5.0

      5

      30% 受講後に作成

      • truthwing
        知識共有者

        素敵な受講レビューありがとうございます!これからも良い講義とフィードバックでお応えしていきます! いつでもお気軽に質問してくださいね〜

    似ている講座

    同じ分野の他の講座を見てみましょう!

    期間限定セール、あと2日日で終了

    ¥26

    27%

    ¥6,064