Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Decorator vs Chain

É possível dizer que no Chain o próximo comportamento só é evocado quando o anterior não é aplicado, enquanto que no decorator todos os comportamentos da cadeia são evocados?

Além disso, o Chain possui um "montador", então é possível controlar o fluxo; no Decorator, não há montador.

Isso está certo?

É possível exemplificar as diferenças entre um e entre o outro?

5 respostas

Oi André, tudo bem?

Ao comparar os dois padrões, a maior diferença é que o Chain pode matar a cadeia a qualquer momento. Já os decorators são como uma unidade em camadas na qual cada camada sempre faz o pré / pós-processamento. Chain é mais como uma lista vinculada. O padrão de Chain também oferece a oportunidade de encerrar a cadeia a qualquer momento, como você mencionou,

Opa, tudo bom?

Mas quais as vantagens e desvantagens de cada um?

Em quais momentos devo utilizar o Chain e em quais momentos devo utilizar o Decorator?

solução!

A principal diferença é que um decorador adiciona um novo comportamento que, de fato, amplia a interface original. É semelhante ao modo como a extensão normal pode adicionar métodos, exceto que a "subclasse" é acoplada apenas por uma referência, o que significa que qualquer "superclasse" pode ser usada.

O Decorator é usado para adicionar funcionalidade adicional a um objeto específico, em oposição a uma classe de objetos. É fácil adicionar funcionalidade a uma classe inteira de objetos subclassificando um objeto, mas é impossível estender um único objeto dessa maneira. Com o Padrão decorator, você pode adicionar funcionalidade a um único objeto e deixar outros como ele sem modificações.

Legal, entendi! Valeu.

Perfeito amigo, bons estudos (=

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software