¿Cuáles son los beneficios de la inyección de dependencia AngularJS?

He estado trabajando con Angular desde hace algunas veces, y no veo cómo es una mejora de mi forma anterior de codificación.

Primero, no puedo ver qué tiene de malo tener un objeto central para sostener su proyecto, después de todo, el inyector es un elemento único que busca sus dependencias en un lugar central, por lo que el ángulo tiene un objeto central, simplemente está oculto. Namspacing no necesariamente significa acoplamiento, si se hace correctamente. Incluso cuando está hecho, no es necesario que cada objeto de su código esté acoplado a los demás. Además, cada vez que crees un script JS independiente, debes envolverlo en angular para que jueguen bien juntos.

Segundo, es muy detallado declarar todas sus dependencias cada vez (especialmente con minificación), por lo que no hay ganancia desde el punto de vista de la legibilidad en comparación con el espacio de nombres adecuado.

En tercer lugar, la ganancia de rendimiento es mínima. Me obliga a usar singletons en todas partes, pero puedo hacerlo solo si lo necesito, y la mayoría de las veces no (las manipulaciones de red y DOM son mi cuello de botella, no los objetos de JS).

Al final, me gusta el HTML "mejorado" y los enlaces automáticos de dos vías, pero no puedo ver cómo la inyección lo hace mejor que la forma en que otros marcos se ocupan de las dependencias, dado que ni siquiera proporciona una carga dinámica. como require.js. No he visto ningún caso de uso donde me diga a mí mismo "oh, aquí es donde está mucho mejor que antes, veo" mientras codifico.

¿Podría explicarme qué beneficios aporta esta opción técnica a un proyecto?

Solo puedo ver uno por ahora: convenciones y cumplimiento de las mejores prácticas. Es muy importante crear un ecosistema lib, pero por ahora no veo el fruto de ello en la comunidad angular.

Respuestas a la pregunta(1)

Su respuesta a la pregunta