『エリック・エヴァンスのドメイン駆動設計』をようやく読み終えた。これを噛み砕くには、まだまだ力不足だった感がある。翻訳された方のドメイン駆動設計入門 - Digital Romanticismを読んで、なるほどそういうことが書いてあったのか、と思ったりしている。
でも、『Java言語で学ぶリファクタリング入門』も『Java言語で学ぶデザインパターン入門 』も『エンタープライズアプリケーションアーキテクチャパターン』もそうだったように、いつかふと思い出して役に立つ日が来るかも知れない、と思って読みきった。
この本では、あるサンプル・モデルを成長させながら、ドメイン駆動設計について解説している。でも、実際には既存ソースコード(ドメイン駆動設計されたとは限らない)を読みながら、それが表現するモデルを推測することが多い。だから、第17章で紹介されている「まず評価する」が面白かった。
そこでは、現在の状況を明確に評価する方法として、以下が紹介されている。
冒頭に書いた通り、まだ噛み砕けていない部分が大半で、表層を撫でただけだと思う。上の方法も、ぼんやりとしたイメージでしか捉えられていない。ふと思い出したら(あるいは必要にかられたら)、また読み返そう。
なお、感想ツイートの不完全な一覧は、『エリック・エヴァンスのドメイン駆動設計』の自分の感想まとめ - Togetterまとめ。参考と覚え書きを兼ねて。
でも、『Java言語で学ぶリファクタリング入門』も『Java言語で学ぶデザインパターン入門 』も『エンタープライズアプリケーションアーキテクチャパターン』もそうだったように、いつかふと思い出して役に立つ日が来るかも知れない、と思って読みきった。
この本では、あるサンプル・モデルを成長させながら、ドメイン駆動設計について解説している。でも、実際には既存ソースコード(ドメイン駆動設計されたとは限らない)を読みながら、それが表現するモデルを推測することが多い。だから、第17章で紹介されている「まず評価する」が面白かった。
そこでは、現在の状況を明確に評価する方法として、以下が紹介されている。
ここが面白かったと感じるのは、現状把握が出来ていないと不安だからだと思う。でも、分析は目的ではない。分析麻痺に陥ったり、分析だけで燃え尽きたりしないように、バランスを取らないといけない。
- 〈コンテキストマップ〉を描くこと。一貫したものが描けるか、それともあいまいな場所があるか?
- プロジェクトで言語の使われ方に注意を払うこと。〈ユビキタス言語〉はあるか? それは開発を支援できるくらい豊かであるか?
- 何が重要であるかを理解すること。〈コアドメイン〉は識別されているか? 〈ドメインビジョン声明文〉はあるか? それを書くことはできるか?
- プロジェクトで使われている技術は〈モデル駆動設計〉に向いているか?
- チームの開発者は必要な技術スキルを持っているか?
- 開発者はドメインについてよく知っているか? ドメインに関心を持っているか?
冒頭に書いた通り、まだ噛み砕けていない部分が大半で、表層を撫でただけだと思う。上の方法も、ぼんやりとしたイメージでしか捉えられていない。ふと思い出したら(あるいは必要にかられたら)、また読み返そう。
なお、感想ツイートの不完全な一覧は、『エリック・エヴァンスのドメイン駆動設計』の自分の感想まとめ - Togetterまとめ。参考と覚え書きを兼ねて。