2006.04.28 · 技術と道具

ついに突っ込まれる。

“でも、ひが氏の言う設計ではドメインロジック ドメインモデルで1つの塊じゃないかな。
ひが氏の提唱する方法は、クラス1つ1つとしてのOOっぽさは失ってしまっているけど、
ドメインとしての単位はきちんと存在している。
digitalmorningの記事は、「ロジックをサービスに記述しろ」と読める。
いや、サービスにロジックを書くのも1つの方法になりえるかもしれないけどね。”

ということで、ついに突っ込まれてしまいました。
そうですね。その指摘は正しいと思います。(あの私の記事、修正した方が良さそうだ…)
あの記事、かなりマジメに書いたつもりなんですが、Seasarのくだりはマズかったようです。嘘つきました。ひがさん、ごめんなさい。

あの記事あたりの真意を言っておきますと、「「データ」と「処理」あたりが総決算な記事だったりします。

何が言いたいのかというと、オブジェクト指向は設計としてはかなり正しいというか、いいところが凄くある。
しかし、実装となると、永続化まわりのインピーダンスミスマッチがかなり大きな影響を与えてしまって、オブジェクト指向として綺麗な状態で実装するのは、かなり難しいのではないか?
実際、自分でも色々やってみたのですが、どうも上手く行かない…。

色々考えてみると、オブジェクト指向だからといって、盲目的にデータと処理を一緒にするということに拘っているのが問題なのではないか?と思い至ったのです。
…これ以上書くと、長くなるし、先に挙げたURLと同じ内容の繰り返しになってしまうので、やめておきます。

ただ、ここ数年、オブジェクト指向設計に一気に流れて行った揺り戻しのようなことが起きて、とはいっても、昔ながらの設計に完全に戻ってしまうわけでもなく…ということになるのではないか?
例えばDIコンテナを使った開発では、トランザクション単位がサービスの単位になったりすることもあり、そうなると1つのドメインというより、いくつかの関連の密なドメインがひとまとまりになって、それを統括する1つのサービスが登場して、そこにある程度のビジネスロジックも書かれるのではないか?と思ったということなのです。(GRASPでいうところの、情報エキスパートパターンはドメインにやらせれば良いとして、コントローラーパターンはちょうどサービスに割り当てられるのではないか?)

結局長くなってしまいました。ま、言い訳です。

2006/04/28 00:52
← 企業システムにおけるWeb 2.0
技術の進歩から価値を生み出せるのがSIer? →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。