Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Camada de Aplicacao, casos de uso e servicos de aplicacao

Ola,

Por que durante o exemplo ministrado, deixa-se uma interface de servico da aplicacao EnviarEmailIndicacao junto do caso de uso matricular ?

Qual a diferenca entre termos uma interface vivendo no mesmo escopo do caso de uso? Esse agrupamento ficou confuso para mim.

Qual outra abordagem poderiamos tomar ? Isolar esses casos de uso em um subpacote application.usecase ? e as interfaces de servico em application.services ?

1 resposta
solução!

Olá Eduardo, tudo bem?

É para facilitar a integração do caso de uso com a camada de serviço. A interface fornece uma forma de acesso aos serviços externos necessários para o caso de uso ser executado. A diferença em ter uma interface no mesmo escopo do caso de uso é que fica mais fácil identificar e compreender as dependências do caso de uso. Além disso, pode ser mais fácil garantir a consistência e a coesão dos componentes da aplicação.

Mas poderíamos ter uma outra abordagem isolando os casos de uso em um package "usecase" e as interfaces de serviço em package "services", por exemplo. Isso pode ajudar a separar as responsabilidades e manter a organização da aplicação :)