石橋秀仁(zerobase)書き散らす

まじめなブログは別にあります→ja.ishibashihideto.net

ドメイン駆動設計とUI設計の関係についての現時点の考え

ドメイン駆動設計(DDD)的にはUI設計はどうでもいいかもしれない。

利用者体験(UX)的にはどうでもよくないけど。

「ドメイン駆動設計(DDD)的にはUI設計はどうでもいい」への反論として、「UI設計とユースケースが要件定義でもあるのだから、それによってDDDを駆動することができる」という考え方もありえる。(←日本語推敲しろって感じですが意味わかりますよね)

ぼくの考えでは、ユースケースを表現するのはコントローラー/アプリケーションだと思う。モデル/ドメインのレイヤーではなくて。

モデルは、もっとピュアにドメインの概念を表現するレイヤーにしたい。

なので、というか、ちょっと飛躍するけども、『実践テスト駆動開発』(GOOS)的な「エンド・ツー・エンド」の考え方には、ちょっと違和感がある。最初にUI込みでのウォーキング・スケルトンを作るのだけれど、これをやろうとすると、「貧弱なUI設計で実装に着手する」か、「大規模な設計作業を最初にやる(BDUF)」かになるのではないだろうか。

ぼくん考えでは、UIはUIで開発し、モデルはモデルで開発に着手するのがよい。互いを意識しつつも、並行して開発をしばらく進めていく。次第に、徐々に、統合していく。こういうプロセスがよさそうだ。

というのが現時点の考え。

関連記事