実践ドメイン駆動設計を読んだ

- (3 min read)

業務でのアーキテクチャを考えるにあたって実践ドメイン駆動設計を読んだ。ドメイン駆動設計といえばエリック・エヴァンスのドメイン駆動設計が有名だと思うがそれよりは実装寄りに立った書籍である。
そのためドメイン駆動設計自体を学びたい人は先にエリック・エヴァンスの方を読むことをおすすめする(もちろん本書にも説明はあるが)。
本書は全編を通してJavaのコード例が散りばめられており、実践的なテクニックに溢れているがJavaでなくともすぐに取り入れられるものは多い。特にイベント駆動アーキテクチャやメッセージングを使った境界づけられたコンテキスト間の統合は複数マイクロサービスでシステムを構築する場合にはマイクロサービス間の依存関係をコントロールするのに役立つだろう。

ヘキサゴナルアーキテクチャはクリーンアーキテクチャで有名なあの同心円図と似たような考え方をしており、いずれにせよドメインモデルが他の何者(たとえばDBなどのインフラ層)に依存しないようにする、というのが肝である。

ストーリー仕立てで話が進んでいくため、最初から読み進めないと話が理解できない点には注意。一度全体を読んで流れを把握して、後で自分が必要な章をもう一度読むのが良いと思う。あと出てくるコードがまとまったgithubリポジトリが明記されていないがおそらくここだと思われる。