Índice

Inyección de dependencias

La inyección de dependencias es una implementación del patrón de diseño IoC, que permite evitar las dependencias entre componentes.

La idea es que ningún componente sea responsable de recuperar sus dependencias. Es responsable únicamente de declararlas, de modo que un componente externo se encargue de proporcionárselas.

AngularJS utiliza este patrón de diseño para gestionar las dependencias en el interior de una aplicación, proporcionando el servicio $injector, que se encarga de resolverlas.

1. Declaración y resolución de dependencias

El mecanismo de inyección es un aspecto central del funcionamiento de AngularJS y puede utilizarse en muchas situaciones. Es posible usar este mecanismo en todos los componentes definidos por una función factory, como los controladores, los servicios, etc. Los métodos run y config también pueden aprovechar la inyección, sabiendo que el método config solamente puede declarar dependencias mediante providers (esta noción de provider se verá más adelante en la sección Servicios - Providers, en este capítulo), por ejemplo $httpProvider o $routeProvider, y constantes, dado que los demás elementos de la aplicación no están inicializados en el momento de la ejecución de este método.

Este mecanismo puede utilizarse en muchas otras ocasiones, como veremos en los siguientes capítulos.

module.controller("inicioController", ...