Olá Ed! Tudo joia?
Peço desculpa pela demora para responder o seu tópico.
De fato, ao criar o GeraPedidoHandler
, estamos transferindo a responsabilidade de tratar a lógica do comando para um objeto separado, ao invés de deixar essa responsabilidade no próprio GeraPedido
.
A ideia principal por trás do padrão command é encapsular uma solicitação como um objeto, permitindo que você parametrize clientes com diferentes solicitações, enfileire ou registre solicitações e suporte operações desfazer. Ao separar a lógica do comando em um handler
específico, estamos seguindo o princípio da responsabilidade única, que nos ajuda a manter nosso código mais organizado e de fácil manutenção.
Dessa forma, ao utilizar um handler
no padrão command, estamos evitando a "sujeira" no GeraPedido
, pois estamos delegando a responsabilidade de tratar a lógica do comando para um objeto separado. Isso nos permite ter um código mais coeso e modular, facilitando a manutenção e evolução do sistema.
Espero ter ajudado a esclarecer a sua dúvida! Se tiver mais alguma pergunta, estarei à disposição.
Grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.