Olá pessoal. Fiquei com uma dúvida: um UseCase pode ser um listener na abordagem do DDD? Pois o GeraSeloAlunoNovato é um UseCase, que recebe até dependência de repository, mas é um ouvinte.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá pessoal. Fiquei com uma dúvida: um UseCase pode ser um listener na abordagem do DDD? Pois o GeraSeloAlunoNovato é um UseCase, que recebe até dependência de repository, mas é um ouvinte.
Olá João!
Na abordagem do DDD, é possível que um UseCase seja um listener, sim. Isso porque um UseCase é responsável por orquestrar a lógica de negócio e, em alguns casos, pode ser necessário que ele escute eventos que acontecem no sistema para tomar alguma decisão ou executar alguma ação.
No seu exemplo, o GeraSeloAlunoNovato é um UseCase que recebe dependência de repository e também é um ouvinte. Isso é perfeitamente possível e pode ser uma boa solução para o seu caso específico.
Porém, é importante lembrar que o DDD não define regras rígidas sobre como os componentes devem ser implementados. O importante é que a solução atenda aos requisitos de negócio e seja fácil de manter e evoluir.
Espero ter ajudado e bons estudos!