
マーチン・ファウラー特別ラウンドテーブル 現場レポート [後編]
アナリシスパターンは難しすぎる?
構成:吉田育代、谷古宇浩司(アットマーク・アイティ編集局)
2004/6/15
◆ ドメインモデリングとデータモデリングの違い
鈴村 ドメインモデリングについて質問があります。ドメインモデリングをするときに最初に何をしたらいいかということに迷っています。ドメインモデリングを手掛けている人はデータモデリングをやってきた人が多くて、属性というかフィールドを上げているものがほとんどなんです。そうすると、データモデルとあまり変わりません。この領域では振る舞いに着目することが重要だということですが、私としては振る舞いから始めるのは難しいんですが、ドメインモデルを作るときに最初に何をすべきか、その辺りの戦略で何かあれば教えていただきたいのですが。
![]() |
| 左から、長瀬嘉秀氏、ファウラー・ファウラー氏、斉藤信也氏、鈴村幸太郎氏、マイケル・ダイクス氏、巻山展輝氏 |
ファウラー オブジェクト指向のデータモデリングとドメインモデリングの間にはたくさんの共通点があります。しかしまた、それと同じだけの違いもあります。そこが取り組むときに一番難しいところなのです。オブジェクト指向のデータモデリングはデータを組織化することが目的ですが、オブジェクトモデルは振る舞いを組織化することが目的です。そこが大きく違うところです。
エリック・エバンズや私は書籍の中でドメインモデルの解説に努めましたが、これは試行錯誤しながらの試みでした。残念なことに、ドメインモデリングの方法を簡単に公式化することはできません。モデリングというのはまだ標準的な教育法というのがないのです。あなたが師とする指導者の教える方法で学ぶしかありません。エリックも私もいまでは昔よりもう少し分かってきていて、より良い教育法を考え続けています。それでもまだ簡単な仕事ではないことは事実です。
- - PR -
鈴村 なぜこの質問をしたかといいますと、ファウラーさんの書籍を読んで、アナリシスパターンでドメインモデルを作ろうとしたんですが、非常に難しかったからなんです。ドメインモデルをリファクタリングしている過程ではアナリシスパターンが使えるんですが、ゼロから作り始めるときには、アナリシスパターンというだけではちょっと困難だと思いました。
ファウラー 実は、パターンを作ることとパターンをリファクタリングすることは非常に密接につながっています。エリック・エバンズも書籍の中でいっています。ソフトウェアを2度はリリースした後でないと、ドメインモデリングにおいて本当にカギとなる抽象化部分を理解することはできない、と。モデルの扱いをきちんと理解し、それを実装するには時間がかかるのです。最初から完ぺきなアイデアを得るのは難しいでしょう。この世界はそういうふうにはできていないのです。
斉藤 私がいくつかモデリングを行ったとき、最初は具象レベルから始めました。何度か行っているうちに、抽象レベルでのモデリングがふっと頭に浮かぶようになりました。一種のインスピレーションでした。それも最初は単純なデータモデルに似たものだったんですが、慣れるに従って抽象レベルのモデルができるようになりました。ファウラーさんの書かれたアナリシスパターンは非常に洗練されていて、かつ抽象レベルのものなので、最初の段階で導入するのは難しいと思います。時間が必要ですね。
萩原 さて。そろそろ時間がなくなってきました。今回のラウンドテーブルは、アーキテクトが関心を持つテーマを取り上げ、またファウラーさんの意見とともに深く掘り下げることができて、なかなか有意義だったのではないかと思います。本日は長時間ありがとうございました。
|
2/2
|
|
INDEX |
||
|
マーチン・ファウラー特別ラウンドテーブル 現場レポート [前編] |
||
| Page1 基本的なパターンの理解=永続的に使える武器 |
||
| Page2 パターンとコードサンプルの関係 |
||
| マーチン・ファウラー特別ラウンドテーブル
現場レポート [後編] アナリシスパターンは難しすぎる? |
||
| Page1 何が起きているのかを知るにはコードを見ろ |
||
| Page2 ドメインモデリングとデータモデリングの違い |
||
| IT Architect 連載記事一覧 |
ホワイトペーパー(TechTargetジャパン)
|
|


