rcarneironet / valhalla-clean-architecture

Template de solução Clean Architecture Valhalla para .NET Core 3.1
40 stars 14 forks source link

Apenas por curiosidade #27

Open leandrofagundes opened 2 years ago

leandrofagundes commented 2 years ago

Sua layer de Application depende do MediatR. Nesse caso, não seria o ideal a application não depender de ninguém?

rcarneironet commented 2 years ago

Na realidade o MediatR nem é o problema ali, pois eu uso ele para intermediar o padrão CQRS, não vejo problema dessa dependência no Application.

Mas veja que tenho no Application uma dependência do Entity Framework e isso está errado, na época que fiz esses estudos/poc, deveria ter deixado apenas a abstração e não a implementação concreta. Vou alterar quando tiver tempo ;)

Esses conceitos todos eu migrei pro repositorio "hexagonal architecture", dá uma olhada lá.

leandrofagundes commented 2 years ago

Sim, cheguei no seu hexagonal pelo seu linkedin e me interessei também por esse do clean. Na verdade, o mediatr também é uma dependencia. Uma atualização de algo que faz ele parar de funcionar, para toda sua aplicação. Existem opções já que tornam possível fazer o mesmo que você faz com o Mediatr, sem precisar gerar a depêndencia. Eu utilizo o FluentMediator, do Ivan. Recomendo dar uma olhada

https://github.com/ivanpaulovich/FluentMediator

rcarneironet commented 2 years ago

@leandrofagundes Você tem total razão. Vou avaliar o FluentMediator do Ivan, ele abstraiu um nivel acima ainda e a dependência não fica explícita (me parece), apenas quando fazemos inversão de controle. Meu entendimento está correto?

rcarneironet commented 2 years ago

@leandrofagundes , uma coisa que também fiquei um pouco pensativo é o quanto isso poderia impactar performance, me parece que rola reflection arduamente.