Hatena::ブログ(Diary)

yvsu pron. yas このページをアンテナに追加 RSSフィード

2008-02-02

続ドメインモデル

多くのケースでは新規でDB設計できるケースはまれで、

既存資産を流用して開発を進める事になると思いますが

そこでドメインモデルERモデルを同一視して表現するのは、

かなり厳しいと思います

dmさんのつっこみ

まず、ドメインモデルが何をさしているのかが人によって違ので、ここではより広い意味で、ドメインを何らかの形で表しているものをドメインモデルと呼ぶことにします。

あるドメインを永続化の方法などを気にせず、モデリングしたものを厳密なドメインモデルとします。

厳密(Strict)なドメインモデルは、永続化の方法は気にしていないので、例えば、RDBMSを使う場合は、ERモデルとは別のものになります。この2つを同一視するのは、もちろん無理です。

次が、軽量(lightweight)なドメインモデル。軽量なドメインモデルでは、永続化の方法を気にしながら、モデリングを行ないます。RDBMSを使う場合は、ERモデルとほぼ同じになるように意識してモデリングを行ないます。軽量なドメインモデルERモデルは同時に設計します。

最後が、レガシードメインモデルレガシーDBをそのまま使い、JavaモデルレガシーDBに合わせる方法。レガシーDBドメインの構造をあらわしたものなので、広い意味で言えば、ドメインモデルといってもいいんじゃないかと思います。

軽量なドメインモデルレガシードメインモデルは、ドメインモデルERモデルはほとんど同じものになります。

振る舞いをどこに持たせるのかは、こちらに書いてあります。

既存資産を流用する場合は、既存部分はレガシードメインモデルで、新規部分は軽量なドメインモデルを使う形が、使いやすいのではないかと思います。

既存資産を流用する場合でも、厳密なドメインモデルは使えるはずですが、実際に使うと結構苦労するんじゃないかと思います。

戯 2008/02/03 20:07 既存DBなくせにドメイン(問題領域)をきちんと表現できてないDB(スキーマ)、なんてものばかりに巡り合う私は負け組みでしょうか?orz

スパゲティ既存DBはもう沢山ですぅ

Connection: close