O padrão de design do decorador
Estou apenas começando a aprender padrões de design e tenho duas perguntas relacionadas ao Decorator ...
Fiquei me perguntando por que o padrão decorador sugere que o decorador implemente todos os métodos públicos do componente do qual decora?
A classe decoradora não pode ser usada apenas para fornecer comportamentos adicionais e, em seguida, o componente concreto (que é passado para ela) apenas ser usado para chamar todo o resto?
E segundo, e se o componente concreto que você deseja decorar não tiver uma classe base da qual o decorador abstrato também possa derivar?
Desde já, obrigado!