Spring的IOC模式和工厂模式的区别

  1. 原始社会里,几乎没有社会分工。需要斧子的人(调用者)只能自己去磨一把斧子(被调用者)。对应的情形为:Java程序里的调用者自己创建被调用者。
  2. 进入工业社会,工厂出现。斧子不再由普通人完成,而在工厂里被生产出来,此时需要斧子的人(调用者)找到工厂,购买斧子,无须关心斧子的制造过程。对应Java程序的简单工厂的设计模式。
  3. 进入“按需分配”社会,需要斧子的人不需要找到工厂,坐在家里发出一个简单指令:需要斧子。斧子就自然出现在他面前。对应Spring的依赖注入。

控制反转、依赖注入:

当某个角色(调用者)需要另外一个角色(被调用者)的时候,传统过程需要自己去调用被调用者,在spring中,创建被调用者的工作不需要调用者去实现,对调用者和被调用者没什么要求,完全支持对POJO之间依赖的管理,由Spring容器去实现,注入调用者。

 

总结:

IOC是通过反射机制来实现的,当我们需求改变的时候,工厂模式会需要修改进行相应的改变,而IOC反射机制不需要我们重新编译代码,因为它的对象都是动态生成的。

 

参考链接:https://blog.csdn.net/sunnyray0901/article/details/5915652

猜你喜欢

转载自blog.csdn.net/qq_36826248/article/details/81739234