愛と幻想のアジャイル

道産子ソフトウェアエンジニアの技術メモ

WhatのためにHowを駆動して進化した先に、洗練されたドメインオブジェクトが生まれる

設計や開発は日々の学習のプロセスであり、成長や発見なんだろう。

ドメインも同様。

毎日、考え続け、成長させるのが大切だと思う。

 

日々改善するXPがドメイン駆動設計と相性が良いのはそういうところなんだろうな。
 
ドメイン駆動開発は『オブジェクト指向設計をもっとうまくやる方法』ではなく、『ドメインエキスパートと実装者の統合』を指向する方法論だろうと思います」
 
という言葉があった。
 
ドメイン駆動設計はオブジェクト指向を土台にしているが、それだけじゃ「駆動」じゃない。
駆動するとは、テスト駆動開発と同様に、ソフトウェアを進化させることだと思う。
 
駆動という言葉の重みを今一度心に刻むべき。
 
ドメイン駆動設計の著者のエリック・エヴァンスも開発者だ。開発者がドメインエキスパートになった実例だ。
 
あと、再利用とか共通化について。
それらは目的にしてはいけない
 
再利用も共通化も「How」であり目的になり得ない。
問題は「What」何をさせるか。
WhatのためのHowだという事は深く考えなければならない。
たとえ同じ出力結果になろうとも、システムの見通しや分かりやすさ利便性は向上しない。
 
WhatのためにHowを駆動して進化した先に、洗練されたドメインオブジェクトが生まれると思う。
そしてそのドメインに進化に終わりはないと考える。