BISDMの変更バージョンに基づいて、いくつかのデータベースエンティティのRESTfulサービスを作成しています。これらのエンティティの一部は、以下に示されるように、ルックアップテーブルが関連付けられている:リポジトリパターンを実装する際、ルックアップ値/テーブルに独自のリポジトリが必要ですか?
Iは、データ永続性/検索の間に明確な分離を提供するために、リポジトリのパターンを使用することを決定しました。しかし、(エンティティとは対照的に)ルックアップがどのようにリポジトリに表現されるべきかわかりません。
ルックアップは、独自のリポジトリインターフェイスを取得するか、関連するエンティティと1つ "共有"するか、または汎用のILookupRepositoryインターフェイスが必要ですか?
現在のところ、これらのルックアップは読み取り専用です。しかし、サービスを介してルックアップを編集したいときがあります。なお、この質問はlook-up tables & RESTful web servicesに関するものである。
このアプローチでは、UpdateSpaceCategory(SpaceCategory spaceCategory)とDeleteSpaceCategory(string id)もISpaceRepositoryにも正しいでしょうか? –
確かに。リポジトリの目的は、基礎となるデータアクセスを隠すことです。データベースレイヤーを切り替える場合、残りのプログラムは依然としてリポジトリのGetCategories()またはUpdateCategory()を呼び出すことになります。変更はリポジトリコンシューマにとって透過的です。 – womp