///
O padrão decorator permite que classes concretas sejam envolvidas em uma hierarquia de objetos que compartilham a mesma interface, em que cada decorador implementa a interface base e delega chamadas para o objeto decorado, adicionando funcionalidade antes ou depois da delegação.