「実践ドメイン駆動設計」から学ぶDDDの実装入門¶
https://www.shoeisha.co.jp/book/detail/9784798161501 https://gyazo.com/dc379908047ee42bcb1227ce2ef22ca7
- DDD本、IDDD本に挫折した人用
- C#によるサンプルコードあり
以下、感想
- DDD、Java/C#文化圏(?)の影響が大きい印象
- エヴァンス本が出た頃のメインストリームはJavaだったから時代背景はある
- DAO/DTO/DPOとかはどこの文化圏?Java?
- ベリトランスAPIのサンプルコードにも出てきた
- お堅いエンプラなシステムで使っているイメージ
- デザインパターンの用語っぽい
- よりビジネスとして価値のあるシステムをOODで作るための手法であり、考え方、という理解
- とは言え、重厚
- 適用するシステムを絞らないと辛そう
- リファクタリングによって徐々にモデルが正解に近づく
- ビジネスの正確な理解と実装の一致
- 犠牲的アーキテクチャとの整合は?
- 捨てることを前提としたアーキテクチャの場合に、コード量が増えるのは望ましくない
- 言語のバージョンアップ、フレームワークのバージョンアップへの追随の問題
- マイクロサービスアーキテクチャとの整合は?
- マイクロサービスごとにドメインモデルを作る?
- サービスを分割するときにドメインを考慮するのは良いかも
- ユビキタス言語 + 戦略 + 戦術
- まずユビキタス言語
- backlogの課題の中で使われている単語を抜き出したらいいかも
- 何をどう呼んでいるか
- 例 SKU
- 流行り廃りもある
- 戦略
- 境界づけられたコンテキスト
- コアドメイン サブドメイン 支援ドメイン
- 戦術
- 値オブジェクト
- エンティティ
- 集約
- etc
- 性能と美意識のバランスを取りながら作っていて、それは別々のタイミングでやる方が良さそう
- 動作する綺麗なコード