<< 実践 ICONIXプロセス 動的+静的の2層構造 | main | 実践 ユースケースモデリング 利用者のアクションを見つける >>

実践 Domain-Driven Design  ドメインモデルを実装する

ドメインモデルは、例えば、UML でクラス図で表現する。

実際に動くソフトウェアにするためにモデルを実体に変換しなければいけない。

・メモリ上に実現するために、Java とか C# とかで記述する。
・ハードディスク上に実現するために、 SQL を使う。
・画面上に実現するために、 例えば、 XHTML + CSS 。
・通信ライン上に実現するために、例えば、XML を使う。

のように、それぞれの装置用の言語で、マッピングが必要になる。

O-R マッピング, O-X マッピング, Http リクエストとオブジェクトのバインド、オブジェクトの Http レスポンスへのレンダリング。

Spring をはじめ、いろいろなフレームワークがでてきて、ここらへんのマッピング作業は、コードを書く必要がどんどん減ってきている。

Ruby on Rails は、モデルを設計してデータベースに実装すれば、他の領域とのマッピングは、自動でやってくれる。

開発全体の中で、ドメインモデルを開発により多くの時間・エネルギーを使えるようになってきた。

問題領域を深く理解し、そこから、良いドメインモデルを創ることができれば、その問題領域の利用者にとって、より使いやすい、より役に立つソフトウェアを提供できるはず。

それがソフトウェアが開発者の使命であり、やりがい。

Eric Evans も "Domain-Driven Design" (「ドメイン駆動設計」) の中で、良い開発者とは、顧客の問題領域を理解することに情熱と喜びを持つ人、という記述があった気がする。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM