Spring IOC 与 工厂模式的区别

本文介绍了Spring的IOC(控制反转)和DI(依赖注入)概念,以及它们是如何逐步发展而来的。通过四个阶段的演变,从基础的多态思想、工厂模式,到工厂模式结合反射和XML配置,最后到IOC/DI模式,阐述了控制权的转移和维护成本的变化。文章指出,IOC/DI模式虽然降低了维护成本,但可能会导致程序运行效率下降。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


先简单解释几个名词。

IOC(控制反转):
    将设计好的类交给系统控制,而不是类中控制。
DI(依赖注入):
    DI将依赖关系注入到组件中,使得复杂的IOC得以实现。
IOC容器:
    IOC+DI+Bean管理=IOC容器
-----------------------------------------------------------------------------
IOC/DI是软件行业一步步优化得来的。

共有四个阶段。

-----------------------------------------------------------------------------
第一阶段:基础多态思想

接口有A,
类B1,类B2实现了接口A。
C类中代码{A a = new B1(); A aa = new B2();}

评价:对C类来说,C类主动完成了实例化对象,直接获取依赖,【创建B1,并装入A的对象a中】。
-----------------------------------------------------------------------------
第二阶段:工厂模式阶段

接口/抽象类 A,
类B1,类B2实现了接口A。
工厂类F 中存在着大部分创建对象的代码。
C类中代码{A a = F.createA("objectname");}

评价:对C来说是被动创建实例化对象,但对工厂来说是主动的。
补充工厂模式思想:
(简单工厂思路)
1.创建一个抽象类A,抽象类有抽象方法M。当然A也可以是普通类或接口,反正方法M等着被重写,方法体根本不重要。

2.编写两个具体实体类,继承抽象类A。并实现抽象类的方法M.

3.编写一个工厂类F,工厂类中有静态方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值