<< 木のぬくもりと あそびの中から 生まれた形たち展 | main | ドメインモデル貧血症と実装パターン >>

ドメインモデル貧血症の症状

ドメインモデル貧血症

ひどい症例

使う人が、入力内容を工夫して、本来の機能とは違う使い方で、なんとか役に立てている。
使う人が、出力結果をエクセルに移して、そこで手作業で加工して、なんとか役に立つ情報を得ている。

考えられる原因

・ソフトウェアに問題領域の知識がない。
・ソフトウェアが知っているのは別の問題領域。
・ソフトウェアが問題領域の間違った知識を持っている。
・ソフトウェアは正しい知識を持っているが、利用者に伝わらない。

実装の特徴

・入力データの妥当性検証がほとんどない(何でもOK)
・テーブルに参照性制約がない。
・テーブルに Not Null 制約がほとんどない
・XML スキーマで制限(Rescriction)がない

末期症状というか、それ以前の問題というか。

ビジネスのルール・ロジック・処理判断を、使う人の知識と能力にまかせている。使う人が画面の前で一生懸命に、過去の知識を動員して、注意深く操作することで、なんとかソフトウエアを動かしている。

どう見ても、役に立つソフトェアの姿ではないですよね。

ドメイン駆動の設計・開発、Domain-Driven Design ( DDD ) の実践の第一歩は、「問題領域の知識を正しく持ったソフトウェアは、もっと役に立つ」という価値観です。

同じ結果を得るのが、今までよりずっと簡単になる。今までは欲しくても手に入らなかった情報を見つけることができる。そんなソフトウェアを(楽をして)作りたい。

これが私が Domain-Drive Design をすばらしいと思い、Spring と ICONIX を気に入っている理由です。 三つとも、この価値観を共有している。

コメント
コメントする









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