DCIのContextをInteractionやRoleとDataを繋ぐアダプターとして捉える
BFFをアダプターとして捉えて、フロントエンドとバックエンドを繋ぐ役割りにする。BFFがバックエンドを利用する形でフロントエンドからの要求を受け入れる。これと似たようなことをドメイン層でやろうとするとDCI (Data, Context, and Interaction) のようになるのではないかと考えた。
実体が文脈に応じて振る舞いをもつと考える。相互作用 (Interaction) の中での役割り (Role) は契約として捉えられる。実体 (Data) は振る舞い (Context) をもって役割りを演じる。このとき、ContextはDataの使われ方を定義するアダプターになる。
Interaction: ユースケース的な枠組み・物語
Context: その中での振る舞い
Data: 状態(永続化したモデル)
このときの振る舞いをドメインロジックと呼べるのかもしれない。文脈的意味のある振る舞いがあるならドメイン層を設ける意味もできてくる。「物語」のある振る舞いの必要性によって構造を引き上げれられる。逆にそこまでのものでないなら無理に構造を持ち込まない方がいいかもしれない。
役割りを演じるような文脈もない
オブジェクトがただのデータの器でしかない
処理は手続きと条件分岐だけ