かとじゅんの技術日誌

技術の話をするところ

ドメインモデリング能力を鍛える

ドメインモデルに対する日米の温度差|Ouobpo

私が思うにドメインモデリングが敷居が高いということではなくて、オブジェクト指向自体がそもそも敷居が高いからだと思う。
多態性デザインパターンとか出てくると目がぐるぐる回るというかw そこまで厳格にオブジェクト指向を追求しなくても、わかりやすいコードでよいというものわかる。

でも、考えてみると、アプリケーションの本文はドメイン、問題領域を扱うこと。会計処理のできない会計ソフトや、データベース設計ができないERDツールはどんなにわかりやすいコードを書いても目的を達成していないことになる。いくら利口なUIを作っても、問題解決できないアプリケーションに価値はない。オブジェクト指向で、問題領域をいかにして扱うかに注力しているのがドメインモデルの考え方。あくまでこのドメインモデルが幹で、UIやORMは枝葉になる。多少難易度が高くても目的を達成できる手段を選ぶし、技術者としての競争力も身につけていきたいというのがあるので、今後はドメインモデリング能力を鍛えていこうと思う。

自分は、過去にトランザクションスクリプトでモデルが単なる情報の箱でしかなく、ロジックはサービス層にたまっていきどんどん肥大化するという経験をしていたが、ドメインモデルで少し光明が見えてきた気がする。

自分もまだDDDの原書を読み始めて間がないが、いくつかのパターンを実践中。直近の感想としては、オブジェクトのことはオブジェクト自身で考えたほうがシンプルになるし、オブジェクト指向言語としては自然な流れ。重複が少なくしながら設計することが可能になるのでROIも高いという感じ。ということで、モデリング関連で読むべき書籍が増えてきたのでまた気合いを入れて勉強したいと思う。

ドメインモデルの夜明けのために、DDDの日本語版の発刊を希望しますw

Domain-Driven Design: Tackling Complexity in the Heart of Software

Domain-Driven Design: Tackling Complexity in the Heart of Software