リポジトリをどのようにグループ化する必要があるのでしょうか。asp.net mvcや私の本で見た例のように、基本的にデータベーステーブルごとに1つのリポジトリを使用します。しかし、それは多くのリポジトリのように思われるため、後でモックなどのために多くのリポジトリを呼び出す必要があります。
だから私はそれらをグループ化する必要があると思います。ただし、それらをグループ化する方法がわかりません。
今、私はすべての登録を処理するための登録リポジトリを作成しました。ただし、更新する必要があるテーブルが4つあり、これを行うために3つのリポジトリがあります。
たとえば、テーブルの1つはライセンステーブルです。彼らが登録するとき、私は彼らの鍵を見て、データベースに存在するかどうかを確認します。登録以外の場所で、このライセンスキーまたはそのテーブルの何かを確認する必要がある場合はどうなりますか?
1つの場所はログインである可能性があります(キーの有効期限が切れていないかどうかを確認してください)。
それで、私はこの状況で何をしますか?コードを書き直します(DRYを破ります)?これらの2つのリポジトリを一緒にマージして、他の時点でメソッドが不要になることを期待してください(userNameが使用されているかどうかをチェックするメソッドがあるかもしれませんが、別の場所で必要になるかもしれません)。
また、それらをマージする場合、サイトの2つの異なる部分のすべてのロジックが長くなり、ValidateLogin()、ValdiateRegistrationForm()のような名前が必要になるため、同じリポジトリに2つのサービスレイヤーを配置する必要があります。 、ValdiateLoginRetrievePassword()など。
または、とにかくリポジトリを呼び出して、奇妙な名前を付けますか?
アプリケーションの多くの場所で使用できるように、十分に一般的な名前のリポジトリを作成するのは難しいようですが、それでも意味があります。リポジトリ内の別のリポジトリを呼び出すことは良い習慣ではないと思いますか?