¿Qué son los “decoradores” y cómo se usan?

Tengo curiosidad por saber exactamente qué son los decoradores en AngularJS. No hay mucha información en línea para los decoradores, a excepción de una propaganda en elDocumentación de AngularJS y una breve (aunque interesante) mención en unvideo de Youtube.

Como dicen los chicos de Angular, un decorador es:

La decoración del servicio, permite al decorador interceptar la creación de la instancia de servicio. La instancia devuelta puede ser la instancia original o una nueva instancia que delegue a la instancia original.

Realmente no sé qué es esomedio, y no estoy seguro de por qué separaría esta lógica del servicio en sí. Por ejemplo, si quisiera devolver algo diferente en diferentes condiciones, solo transmitiría diferentes argumentos a las funciones relevantes o usaría otra función que comparta ese estado privado.

Sigo siendo una especie de noob AngularJS, así que estoy seguro de que es solo la ignorancia y / o los malos hábitos que he recogido.

Respuestas a la pregunta(5)

Su respuesta a la pregunta