控制反转说白了就是如何看待cpu的行走路径的问题:是以本对象为参照原还是以环境对象(容器对象)为参照原点的问题;以本对象为参照原点的时候cpu从本对象里面出发行走出本对象进入其它对象然后再转一圈再回归到本对象里面;而控制反转以容器对象为参照原点,从容器对象里面出发然后再回到容器对象里面,此时对于非容器对象来说对比反转之前,行走的路径箭头正好相反。上面的文字是对图形时空的描述,文字比图形时空读写起来费时费力。
容器对象外面还有容器对象,集合外面还有集合,空间外面还有空间。

看图说话,上面图上的每一个圆都必定有一进一出。对于每一个圆来说它都有两种对世界的认知角度:1,先进来然后再出去,在外面去转一圈后最终又进来;2,先出去,然后再进来,在里面转一圈后最终又出去。