🙌

ドメイン駆動とは??

2023/12/03に公開

ドメインとは??

物事の「アプリケーションが対象とする業務領域」のことを指している

ドメインモデルとは??

業務仕様やビジネスルールを図や文章で表現したもの

ドメインオブジェクトとは??

ドメインの方針から何を必要とするかの取捨選択

パターン

ドメインモデルを実装し表現する手法を指します。

以下例

・値オブジェクト(ルールを書くことが可能な構造体)

・エンティティ(値オブジェクトに代入できるもの)

・リポジトリ(データベースにアクセスするためのオブジェクト)

ドメイン駆動の4大原則

・業務仕様やビジネスルールの複雑さを紐解き、顧客の課題を正しく理解する

・業務の専門家とソフトウェアの専門家が協力し、ドメインモデルを作る

・ドメインモデルを明示的に表現するコードを書き、ソフトウェアを作る

・エンジニアである方もそうでない方(業務担当者など)も理解できる共通言語を使って会話する

エンティティとは??

変化することがない値のことを指す!

例)id、ユーザーid、誕生日などを指す

値オブジェクトとは??

変化する可能性がある値のことを指す!

例)名前、住所などを指す

Discussion