2
respostas

aplicar várias regras de negócio em um objeto.

E quando preciso aplicar várias regras de negócio num objeto ? Qual a melhor forma de aplicar essas regras para que o código não pareça código estruturado e sim orientado a objetos?

Por exemplo:

void processSale(Sale sale) {
    applyInstallmentsValidation(sale);
    applySaleReceipt(sale);
    applySaleUserValidation(sale);
}

Um chain of responsability ?

2 respostas

Fala ai Gean, de boa ?

Um outro design pattern que pode usar é o tal do Observer, que ai você pode ter uma lista de observadores para esse objeto e cada um vai ter sua lógica isolada, por exemplo.

Oi Gean pelo exemplo que você deu eu recomendaria o Observer também percebo que você tem uma sequencia de muitas ações para um determinado método(ação), como em uma venda tenho vários algoritmos dependentes um do outro(Parcela, validações de produto, Descontos, promoçoes, pagamento), acredito que possa ser o padrão ideal nesse contexto especifico.

Espero ter ajudado e bons estudos.