Pela explicação e implementação da aula sobre o pattern Decorator, acredito que na verdade tenha sido ensinado o Composite, não?
O Decorator extende a funcionalidade de um objeto em tempo de execução, enquanto o Composite faz com que diversos objetos sejam organizados em uma forma hierárquica e vistos como um único.
No caso da aula, um único objeto inicia toda a cadeia de descontos, o que me parece ser o Composite.