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

Qual a diferença entre Command e Service?

A ideia do padrão command de separar os passos pra executar uma ação em uma classe reutilizável parece muito similar ao papel de um service que vemos no curso de "arquitetura limpa". Podemos dizer que aqueles services são exemplos do padrão command ou há diferenças?

1 resposta
solução!

Olá Alessandro, tudo bem?

Eu acho que você está completamente certo em questionar que esses dois conceitos parecem ser semelhantes no contexto. Provavelmente vale a pena voltar e considerar, na prática, para que eles se destinam.

O padrão Command encapsula em um objeto todos os dados necessários para executar uma determinada ação (comando), incluindo qual método chamar, os argumentos do método e o objeto ao qual o método pertence.

No Domain Driven Design, existem diferentes tipos de serviços, por exemplo, Application Services (geralmente serviços de UI), Serviços de Infraestrutura e Serviços de Domínio. O trabalho dos serviços é executar funcionalidades que normalmente não são adequadas para uma entidade. Considere usar um serviço quando tiver uma funcionalidade que exija uma variedade de entidades (objetos de agregação/valor).