旅立ち | これで理解できるドメイン駆動設計!

Prev: 落穂拾い

ここまで読んでいただきありがとうございました。ここまで読み進めていただいた人は、ドメイン駆動設計の中核を理解し、ドメイン駆動設計を実践できるようになっていると思います。

最後に、発展的なトピックについて触れていこうと思います。

モデリング手法の学習と選択

モデリング手法でモデリング手法について説明しました。私は古典的なモデリング手法をお勧めしましたが、昨今流行りのイベントストーミングなど他のモデリング手法を学ぶのも良いでしょう。

アーキテクチャの選定と同じで、個別のモデリング手法の優劣ではなく、自分のチームやシステムにとって最適なものが何かを考えて選ぶことが重要です。

戦略的設計

この書籍ではあえて、戦略的設計には触れてきませんでした。ドメイン駆動設計とはでも書いた通り、とくに初学者にとっては戦略的設計は重要でないためです。

しかし、システム規模やチーム規模が大きかったり、大きくなることが予見されるなら学んでおいても良いでしょう。付録のドメイン駆動設計用語集でも概説を書いています。

ドメインイベント

イベントストーミングでも出てきますが、イベントというドメインモデルの分類があります。ドメインイベントと呼ばれたりもします。イベントという通り、何かの操作によって別の何かをトリガーするものに対応するモデルです。例えば、GitHubのコメントでメンションをつけると、その人にメールが飛びます。これは、「メンションした」というイベントによって、メール送信するという処理がトリガーされているからです。

システムによっては、ドメインイベントというドメインモデルも重要なモデルとなるでしょう。

イベントソーシング

ドメイン駆動設計とは直接的には関係ありませんが、イベントを記録することでデータ変更の履歴を追えるようにするイベントソーシングというものがあります。CQRSとも関連が深いものです。

これも、システムによっては重要な概念となるでしょう。

モジュラモノリス、マイクロサービス

もし、システム規模が大きく、システムをいくつかの部分に分割するのが適していると判断されるなら、モジュラモノリスやマイクロサービスが解決手段として上がってくるでしょう。

Next: ドメイン駆動設計用語集