いくつかのデザインパターンに頭を悩ませようとしているときに、私を混乱させるサンプルに出くわしました-うまくいけば、簡単に説明できるものであり、私はそれを見逃しています.
私の質問は、ゲートウェイがこれに適合する「どこ」ですか? 追加のデータアクセスポイントとして、冗長に見えます。
サンプル コードには 3 つのクラスがあります -
person
- 各オブジェクト属性の getter メソッドと setter メソッドを持っていますpersonDAO
- CRUD を実行するためのデータ呼び出しがあります。personGateway
- どちらがgetAll
あり、getCount
- どちらもデータ呼び出しです...???
私は完全にデータのDAO呼び出しを作成し、DAOは「人」クラスを使用してオブジェクトを作成して返します-しかし、DAOにgetAll
andgetCount
を入れないのはなぜですか???
このゲームで「ゲートウェイ」はどのような論理的位置を占めていますか?
--- 回答を読んだ後に追加 ---
わかりました-検索中にこれを見逃したようです-そして、それは明確にするのに「役立ちます」- パターン(DAO x Gateway)でいくつかの明確化が必要です-しかし、それは非常にJava中心のようで、実際には私が望んでいた区別をスキップします-
答えは、DAO が「オブジェクト」を返し、「オブジェクト」はコレクションではなく単一のエンティティであるということだと思います。コレクションを再調整する場合 (そして、「すべき」かどうかは議論の余地があります)、ゲートウェイを使用します...しかし、どのような状況でも、コレクションで DAO を混乱させるべきではありません...