Estou curioso para saber exatamente o que são os decoradores no AngularJS. Não há muitas informações on-line para os decoradores, exceto um resumo na documentação do AngularJS e uma breve (embora interessante) menção em um vídeo do youtube .
Como dizem os caras do Angular, um decorador é:
Decoração de serviço, permite ao decorador interceptar a criação da instância de serviço. A instância retornada pode ser a instância original ou uma nova instância que delega para a instância original.
Realmente não sei o que isso significa e não sei por que você separaria essa lógica do próprio serviço. Por exemplo, se eu quisesse retornar algo diferente sob condições diferentes, passaria argumentos diferentes para as funções relevantes ou usaria outra função que compartilha esse estado privado.
Eu ainda sou meio noob do AngularJS, então tenho certeza de que são apenas ignorância e / ou maus hábitos que aprendi.