ドメイン駆動設計(ドメインくどうせっけい、英語: domain-driven design、DDD)とは、ドメインの専門家からの入力に従ってドメインに一致するようにソフトウェアをモデル化することに焦点を当てるソフトウェア設計手法である[1][2]。オブジェクト指向プログラミングに関しては、ソースコード(クラス名・クラスメソッド・クラス変数)の構造と名称がビジネスドメインと一致させる必要があることを意味する。例えばローンの申し込みを処理するソフトウェアには、LoanApplicationやCustomerなどのクラスと、AcceptOfferやWithdrawどのメソッドが含まれることになる。ドメイン駆動設計は次の目標に基づいている。 プロジェクトの主な焦点をコアドメインとドメインロジックに置く。 ドメインのモデルに基づく複雑な設計。 特定のドメインの問題に対処する概念モデルを繰り返し改良す