DDD
ドメイン駆動設計

ちょっとずつ読むドメイン駆動設計 第三部 より深い洞察へ向かうリファクタリング 第十章 しなやかな設計5 概念の輪郭

2017/11/27 修正
ドメインについての自分の直感に頻繁に立ち返り、技術的思考を抑えること。(第三部第十章より)

ドメインについての自分の直観に頻繁に立ち返り、技術的思考を抑えること。(第三部第十章より)

直感ではなく直観の誤りでした。以下Wikipediaより直感と直観の違いについて
直観・・・知識の持ち主が熟知している知の領域で持つ、推論など論理操作を差し挾まない直接的かつ即時的な認識の形式である。
直感・・・勘で答えるなど、感覚的に物事を感じとること

全く別の言葉ですね。
推論しないで、経験や理解から得たドメインの知識に立ち返る「直観」という言葉。絶妙な日本語訳ですね。

これまでの第十章

概念の輪郭

高凝集と疎結合 大事だけれど

オブジェクト指向の原則でよく言われる高凝集と疎結合。
モジュール間の関係をできるだけ、凝縮して、不要な関連はなくしていく。基本的なオブジェクト指向の原則。

ただ、この原則を技術的な側面だけで適用すると、その価値は半減します。

高凝集と疎結合の原則を概念的にも適用すること。概念的に意味のある機能の単位を見つけること。それが、概念の輪郭を見つけるということですね。

やり方

高凝集と疎結合の原則をコードに適用する際に、

ドメインについての自分の直感直観に頻繁に立ち返り、技術的思考を抑えること。(第三部第十章より)

リファクタリングやオブジェクト指向の原則を適用する際に、いつも考慮すべきことですね。技術的観点だけで適用せず、一回立ち止まって、ドメインの知識が表現されているかを考えてみること。

ソースコードを書く上での意識・考え方・スタイルを技術的思考から切り替える必要があります。人によって、それはある種のブレイクスルーを必要とするものかもしれませんね。