この質問を引き起こしたコードは、4つの異なるDAOを含む私の会社のコードベースのサービスでした。私は、このサービスがまったく別のサービスに属する方法と融合しているのを見るまで、このことについてはあまり考えなかった。このサービス内でこれらの不当なメソッドを作成した理由は、必要なDAOがこのServiceクラスのプライベートメンバーであったからです。サービスとDAOとの関係は1対1か1対多でなければなりませんか?
この開発者は不正行為ですか、ほとんどの場合、サービスクラスごとに複数のDAOを持つのは間違っていますか?
注:同じデータベース内にすべて含まれている限り、サービスクラスごとに複数のDAOを持つことは妥当と思われます。しかし、複数のデータベースからDAOを取得すると、問題が発生する可能性があります。
です。私の場合、私は、サービスの意図に基づいているのではなく、DAOフィールドに基づいて人々がサービスに力を入れている開発者の医療過誤に取り組んでいると思います。 – stevebot
Ahh、継承とサブタイプの多型の問題...それ以外にも、素敵な逸話;-) –
私の意見では、サービスはいくつかのユーザーアクションを処理するための特定のサービスを提供します。これらのサービスは、作業を行うためにDAOを利用する場合もありません。一方、DAOはサービスとデータベースの間の通信を提供しますが、ユーザーの要求が何であるかについては何も知らないでください。開発者がこれらの両方を混在させた場合、サービスとDAOをまとめることはできません。コードを大量に再利用することができないため、ひどいです。 :) – limc