Goyaオブジェクトモデル

WEB+DB PRESS Vol.31 のS2特集で、Goyaについて説明されていたので、Goyaのオブジェクトモデルを図にしてみた。図にしないと覚えられないんです。


Goyaオブジェクトモデル


※注 オブジェクトモデルは、Goyaの成果物のひとつであり、Goya自体は要件定義/外部設計/内部設計/実装/テストの工程を対象にした設計指針です。


各クラスを作成する単位は以下のようになる。

    画面単位に作成するもの   → Action、DTO、Service、DXO
    業務ロジック単位に作成するもの   → Logic/Rule
    テーブル単位に作成するもの   → DAO、Entity


また、Action、Service、DXO、Logic/Rule、DAOは、インタフェースと実装を分離する。


こうして図にしてみると、ServiceがDAOにアクセスするのは、少し違和感がある。ServiceがLogic/Ruleを介さずに、DAOにアクセスするパターンはどのようなときだろうか?何かしら指針がないと、実装時に人によってぶれそう。