BuenAS:
Lo primero, por si hago referencia, las 'vistas' son las partes visuales de tu aplicación: los botones de un menú, una galería de imágenes, los botones de un reproductor de vídeo, la pantalla del reproductor...
La inyección de dependencias es lo que se hace cuando se pasan datos a una determinada clase, por ejemplo:
Código ActionScript :
var objeto:MiClase = new MiClase();
var instancia:MiClaseConInyeccion = new MiClaseConInyeccion(objeto);
Cuando hemos instanciado MiClaseConInyeccion le hemos pasado una referencia de objeto. Esto es a lo que se llama inyección de dependencias.
Un Framework como Robotlegs se encarga de realizar esta inyección de dependencias. No tienes que pasar datos a la clase en el constructor cuando la instancias. En Robotlegs verás código como este:
Código ActionScript :
[Inyect]
public var dato:ITipoDato;
Si quieres que una clase reciba el dato de tipo ITipoDato, basta con que le añadas ese código y el framework se encarga.
La inversión de control (IoC) consiste en que es el framework el que comunica las vistas; o sea en un proyecto que utilice Robotlegs (o Parsley) tus vistas NO CONOCEN el resto de vistas. Esto, Robotlegs lo soluciona con los mediadores: cada vista tiene asociado un mediador que se encarga de escuchar los eventos que distribuye la vista e informar al resto de actores de tu aplicación (modelo, otras vistas).
Con un framework con inyección de dependencias e IoC consigues fácilmente crear aplicaciones 'desacopladas': que una vista no conozca al resto de vistas. Esto ¿qué ventajas tiene? pues que puedes modificar una determinada vista sin que afecte al resto, o puedes reutilizarla en una aplicación totalmente distinta.
Si miras aquí mismo, en Cristalab, verás muchísimas preguntas sobre el tema de cómo comunicar clases. Esto te lo soluciona de forma casi mágica

Un saludo.