consulta de arquitetura s#arp - serviços e repositórios
-
14-09-2020 - |
Pergunta
Meus controladores usam serviços em vez de repositórios diretamente.Os serviços são colocados no projeto ApplicationServices:
public XYZService
(
IBlaRepository BlaRepository,
IBla1Repository Bla1Repository
)
{
Check.Require(BlaRepository != null, "BlaRepository may not be null");
this.BlaRepository = BlaRepository;
....
Isso funciona bem.
Os repositórios são implementados da seguinte forma:
public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)
public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)
Às vezes, posso simplesmente usar o repositório de arquitetura nítida ‘simples’.Existe uma maneira de passá-los para o serviço acima?Tenho que registrá-los em algum lugar?
Para esclarecer isso – o contratante do serviço se parece com isto:
public XYZService
(
Repository<UUU> UUURepository
...
Espero que isso faça sentido.
Obrigado!
Cris
Solução
Chris, tudo o que você precisa fazer é se referir ao seu repositório como tal:
private readonly IRepository<Bla> _blaRepository;
public BlaService(IRepository<Bla> blaRepository)
{
_blaRepository = blaRepository;
}
Isso permitirá que Windsor injete o repositório em seu controlador sem que você precise de mais nada.
Alex
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow