ドメインモデル貧血症を読んでちょっと考えたこと 2008/04/30

ドメインのロジックをドメインオブジェクトの中に入れないという設計ルールに従っているのでしょう。その代わり、すべてのドメインロジックを含むサービスオブジェクト群が存在しているのです。 こういったサービスはドメインモデルの上位に居座り、データのためだけにドメインモデルを使うのです。Martin Fowler's Bliki in Japanese - ドメインモデル貧血症


上記のあとの文章で、
このアンチパターンが根本的に怖いのは、オブジェクト指向設計の基本概念(データと処理を一緒にする)の真逆だということです。ドメインモデル貧血症とは、単なる手続き型設計のことなのです。まさに、私(そしてEric)のようなオブジェクト信望者が、Smalltalkの初期からずーーーーーっと戦ってきたもの、そのものなのです。さらに困ったことに、貧血オブジェクト(Anemic Object) が本物のオブジェクトだと思っているひとがたくさんいます。つまり、オブジェクト指向設計が何たるかをまったく分かっていないということなんです。Martin Fowler's Bliki in Japanese - ドメインモデル貧血症

と続きます。

そうなんです。僕は「オブジェクト指向設計が何たるかをまったく分かっていない」です。

もちろん、別に教科書的な説明を知らないわけではなく(多分)、僕の知識のはもちろんあやういですけども、実感としてオブジェクトが手触りみたいなものが感じられなくなったといいますでしょうか、なんというか。

データベースがあって値を、オブジェクトにつめこんでるだけにしかみえない瞬間があるんですよね。
結局は、オブジェクトの中で整理されて(階層に分けられて)データが入ってて、そのオブジェクトをさらに別のオブジェクトにあてこむだけといいますか。

左から右にデータをバケツリレーのようにオブジェクトに詰め替えてるだけだけのような気がする瞬間があるんです。するとこのバケツリレーのバケツからバケツに移し替えるところにロジックがあるだけという感覚になるんですよね。

うーん、勉強不足、経験不足なんですかね...道を誤ったか...Otz...

: