『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』という書籍も読んだ。
いろんな本を読むことで多角的にドメイン駆動設計を徐々に理解しようとしているのが現状。
この書籍からは、次の学びを得た。
出典:ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本 Loc.895
出典:ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本 Loc.1315
正直言って、まだエンティティと値オブジェクトの違いについてしっくりきていない。
最近やっていたゲームから比喩を得て理解しようとしたけれど、やっぱりぴったりははまらない。
そんで、じゃあまずは手を動かしてみるかと思って、例えば何かの在庫と購入にあたっての在庫引き当てができるみたいなものを想定して作ってみるか、とも思ったけれど、適当に作るのも意外と難しくて。
まずユースケースがわからないからApplication層の作りが曖昧になってしまって、そうなるとドメイン知識として何を持たせるとか、それはドメインのエンティティが持つべきじゃないからドメインサービスにしようとか、そういう発想につながらない。
仮の題材でやってくにしてもそれなりにしっかり練り込んでないとしんどいんだなというのは最低限理解した。
わからないなりに、IDDD(実践ドメイン駆動設計)のサンプルを眺めてそれぞれのつながりであるとか、ディレクトリ構成とかをまずは理解している。
まあ、こうやってつくりがわかったとして、それで実装できるようになっても、多くの人が揶揄する「軽量DDD」にすぎないのかもしれないと薄々わかっているのだけど、だとしてもわかるところから、入れるところから入っていかないと、いつまでも建物の外観を眺めてるだけで終わってしまうので。
ちなみに、細かいけど、GitHubのRepoの説明の中に貼ってあるこのリンクはDead Linkになってた。 "http://vaughnvernon.co/?page_id=168"