S#ARPアーキテクチャクエリ - サービスとリポジトリ
-
14-09-2020 - |
質問
私のコントローラは、リポジトリではなく直接サービスを利用しています。サービスはApplicationServicesプロジェクトに配置されています。
public XYZService
(
IBlaRepository BlaRepository,
IBla1Repository Bla1Repository
)
{
Check.Require(BlaRepository != null, "BlaRepository may not be null");
this.BlaRepository = BlaRepository;
....
.
これはうまく機能します。
リポジトリは次のように実装されています:
public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)
public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)
.
「普通の」シャープなアーキテクチャリポジトリを使用することができます。上記のサービスにそれらを渡す方法はありますか?どこかにそれらを登録する必要がありますか?
これを明確にする - サービスのコンチュートルは次のようになります:
public XYZService
(
Repository<UUU> UUURepository
.
...
これが理にかなっていることを願っています。
ありがとう!
クリス
解決
クリス、 あなたがする必要があるのはあなたのリポジトリを参照するだけです。
private readonly IRepository<Bla> _blaRepository;
public BlaService(IRepository<Bla> blaRepository)
{
_blaRepository = blaRepository;
}
.
これにより、ウィンドソーはあなたが必要としない他に何も必要としないコントローラにリポジトリを注入することができます。
Alec
所属していません StackOverflow