/note/social

DDDをやる目的とか

DDDを学習/実践するにあたって、その目的は何か。

技術的好奇心から/なんか流行ってるから、でやるのもいいけれど、それだけだとデザパタ厨みたいなことになりがち。

延々とモデルを弄くり回してしまったり、ドメインエキスパートにも理解できない複雑なモデルを作って自己満足してしまったり。

要は手段が目的化してしまうというもの。それは誰も得をしないし、本意でもないはず。

というわけで、DDDに限った話ではないけれど、何かをするには明確な目的が重要であるという話。

自分の場合は、「バグがなく、メンテナンスしやすいプログラムを作る」という目的のためにDDD(とOOP)を利用したいと考えている。

したがって、モデルの書法(UML)の厳密さにはあまり興味がないし、合意形成ができるなら、こだわる必要もないと思う。

UMLの仕様書を引っ張りだして、あーでもないこーでもないとやりだすのは、Excel方眼紙の罫線の太さについて議論するようなもので、心が疲弊するのでよくない。