ドメインモデル
#設計
PofEAA, DDDの概念の1つ
https://martinfowler.com/eaaCatalog/domainModel.html
An object model of the domain that incorporates both behavior and data.
---
行動とデータの両方を含むドメインのオブジェクトモデル。
A Domain Model creates a web of interconnected objects, where each object represents some meaningful individual, whether as large as a corporation or as small as a single line on an order form.
---
ドメインモデルは、相互接続されたオブジェクトの網を作成します。各オブジェクトは、企業のように大きくても、注文フォームの1行のように小さくても、意味のある個人を表します。
---
ビジネスの概念と、ビジネスが置かれた状況に関する情報、およびビジネスルールを表す責務を負う
この層がビジネスソフトウェアの核心
入力-処理-出力での、"処理"、つまりビジネスロジックのカプセル化に関心を持つ
MVCのモデル(M)を更に細分化したもの
基本的にI/Oへの関心は持たない、技術に依存しない純粋性を持つ
そのような技術的な知識はRepositoryのようなインフラストラクチャレイヤに委譲される
実装パターン
オブジェクト指向
データと振る舞いを同居させる
関数型プログラミング
CQS
Data-Flow Graph
Pipeline Operator
関数型プログラミングではカプセル化は不要
定義が文脈次第で微妙に違う
Domain Object, Value Objectっぽいものを包括する意味だったり
ユビキタス言語を用いるかどうかだったり
PofEAAとDDDでも若干使われ方が違う
koushisa.iconがこの言葉を利用するとき、特別な注釈がない限りはPofEAAの文脈で使う