DAOが処理する必要のあるビジネスロジックの量について疑問に思いました。
わかりました。DAOの目的は、データアクセスをカプセル化し、データアクセスと実装に関するすべての情報を非表示にすることです。さらに、DAOの目標は、ビジネスロジックをデータアクセスロジックから分離することでもあります。
DAOにはビジネスロジックが含まれている必要があると私は主張します。たとえば、特定のドメインの要件のためにビジネスオブジェクトを削除または更新できなかった場合はどうなりますか?そのDAOの削除/更新メソッドを実装する人はいないと思います。これは、私が見ているように、ビジネスロジックに関するある程度の知識があることを意味します。
さて、あなたが想像できるように、私の質問は実際的というより概念的であり、使用の具体的なシナリオがないので、ORMを使用することは無意味なアドバイスです。
問題は、永続データの操作に制限がある場合、DAOが処理する必要のあるビジネスロジックの量です。
例:
BusinessObject1
存続期間中に1回だけ更新できます。すでに更新されているかどうかを簡単に知ることができると仮定すると、DAOは、BusinessObject1
再度更新しようとした場合に例外をスローする必要がありますか?または、何も検出せず、これをビジネスレイヤーで管理する必要がありますか?