↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Padrão de projeto de software - JavaScript: Decorator

O texto apresenta o Decorator como uma forma de acrescentar funcionalidades a objetos sem criar muitas subclasses. Em vez de multiplicar classes para cada combinação de recursos, o objeto base é envolvido por decorators que mantêm a mesma interface e adicionam comportamento aos poucos.

Fichamento
#

  • O padrão Decorator adiciona recursos a objetos sem subclassificar nem incluir atributos extras.
  • O exemplo inicial com carros mostra como as combinações de recursos viram muitas classes quando se usa herança clássica.
  • O objeto base Car define a interface usada pelos decorators, com métodos como start, drive e getPrice.
  • A classe CarDecorator recebe um carro e repassa as chamadas para o objeto envolvido.
  • Decorators específicos, como PowerLocksDecorator e ACDecorator, chamam o carro original e depois acrescentam novo comportamento.
  • O texto observa que a ordem importa, porque o decorator pode executar primeiro o objeto envolvido e depois adicionar sua própria lógica.
  • O uso prático consiste em criar um Car, envolver esse objeto com decorators sucessivos e reutilizar a mesma variável para o resultado final.
  • O autor diz que o padrão ajuda na manutenção a longo prazo, mas não mostra código para evitar que o mesmo recurso seja adicionado duas vezes.