山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

Domain ModelとTransaction Script

私は純粋なオブジェクト指向派なんですが、

世の中的にはオブジェクト指向で開発するケースは意外に

少ないと感じます。



オブジェクト指向でない作り方はTransanction Scriptと呼ぶ

ことがあるようです。

私はドメインオブジェクトにがつがつロジックを実装していきますが

こういうのはDomain Modelと呼ぶようです。


いろいろと作り方を試行錯誤した結果、このやり方に行き着きました。

以下のようなメリットがあります。

ロジックが1箇所になり重複がなくなる。
結果、開発工数が減る。
変更するときに変更箇所が局所化される。
ロジックを別の部分で使いまわししやすくなる。

ソースコードの可読性が高くなる。
○○が××する
○○を××する
といったような形で読めるようになり、可読性が高くなる。


要するにオブジェクト指向そのもののメリットです。


一方で慣れないとクラス設計は難しいようです。

このへんは構造化設計などに比べて機械的に設計する手順が

ありません。

どうしてもセンスに依存する部分があります。

またシステムの全体像を把握している人が設計しないと

難しい部分があります。

なので実際の開発においては1人優秀な人がアーキテクトとして

全体の設計をするような体制を取らないといけません。

なかなかオブジェクト指向が普及しない原因はそのへんでしょうか。


でも発想の転換ができれば決して難しくないし

何よりメリットが非常に大きいので、興味があれば

一度トライしてみる価値はあると思います。