TL;DR
- ヘキサゴナルアーキテクチャではアプリケーション層とドメイン層が疎結合になるので、ほかの層にとらわれずにモデリングできる。
- 本書では、著者ならどう実装するかという観点で、エンティティを先に作り、その周りにユースケースを組み立てる。
内容
ヘキサゴナルアーキテクチャを使うと、アプリケーション層とドメイン層が疎結合になる。そのため、ほかの層にとらわれずに最適なモデリングができる。ドメイン駆動設計を適用してもよいし、リッチドメインモデル(濃いドメインモデル)と貧血ドメインモデル(薄いドメインモデル)のどちらを選んでもよいし、独自の設計手法を使ってもよい。
本書は、著者ならどのようにヘキサゴナルアーキテクチャを適用するかという観点で実装を進める。エンティティを最初に作り、その周りにユースケースを組み立てる。例として、「自分の口座から別の口座に送金する」ユースケースを実装する。各節のまとめは次のページにある。
- ドメインモデルの実装
- ユースケースの概要
- 入力値の妥当性チェック
- コンストラクタの活用