3
respostas

Junção de comportamentos - Decorator

Boa noite,

Podemos entender que o padrão de projeto Decorator é sempre acrescentador de novos comportamos para um comportamento já existente ?

Por exemplo, vamos supor que temos atualmente na saque de conta corrente é descontado o IOF.Porém saiu uma nova lei e será cobrado IR também, ou seja temos que acrescentar uma nova regra de calculo de imposto, ou seja sempre vamos acumulando comportamentos ?

3 respostas

Fala Alan, tudo bem?

A ideia do Decorator é adicionar dinamicamente responsabilidades aos objetos. Portanto, sim, a nova regra de cálculo seria acumulada no comportamento.

Cara muito obrigado! Como no caso é adicionar novas responsabilidades, imagino que o decorator sempre será adicionado a um projeto que já existe correto ? Imagino que para projeto novo seria muito difícil pensar no padrão decorator...

Oi Alan não necessariamente em um projeto que já existe, mas principalmente em regras de negócio que não existiam antes, um sistema deve ter flexibilidade para atender novas regras de negócio esse é exatamente um ponto que os padrões de projeto ajudam a tratar, por isso se surgisse um calculo novo de um novo imposto composto de outros impostos(subclasses) bastaria compor esse novo objeto da maneira que atenda a regra.Inclusive se algum dia uma regra deixasse de existir eu poderia retirar ela sem afetar o restante do meu sistema.

Espero ter ajudado e bons estudos.