Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
2
respostas

Implementação de outros Use Cases

Salve, pessoal!

Se eu quisesse implementar outras operações, como Desmatricular ou Rematricular, eu deveria criar classes Commands para cada caso de uso, ou há um design pattern que me permita alocar todas as operações relacionadas a matricula em um arquivo só?

2 respostas
solução!

Oi!

Daria para ter uma classe só, com métodos separados para matricular, desmatricular, etc. Mas no geral isso não é bom, pois tende a fazer essa classe ficar muito extensa e com muitas regras distintas, além de deixar "escondido" esses use cases.

Seria melhor ter uma classe para cada use case, pois assim fica explícíto no nome da classe qual use case ela representa, além de deixar o código menor e mais fácil de manter. A desvantagem é ter um número maior de classes no projeto.

Bons estudos!

Obrigado por esclarecer, Rodrigo!