IOC和工厂模式的关系

1、首先要搞清楚为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态静态的概念。

  • 例子解说:假设代码中需要判断用哪个数据库,当满足0条件,用mysql数据库,当满足1条件,用oracle数据库,用反射的概念则可以在代码中不明确具体用什么数据库,具体数据库可在配置文件中配置,而且也可以应对有更多数据库增加的场景,实现动态的切换数据库;

2、为什么说IOC的实现=工厂模式+反射?

  • 理解:可以把IOC看成是工厂模式的升华,把IOC看成一个大工厂,这个大工厂里面要生成的对象都是在XML文件中定义的,然后利用java的反射编程,根据xml给出的类名动态的生成相应的对象。

  • 例子解说:在上一篇工厂模式的理解中已经提到了工厂模式的用法,仍然以创建手机对象作为例子,假设在没有使用反射的情况下,在创建对象时我们需要判断创建16G的手机对象还是32G的手机对象。但是用了反射机制之后,我们可以通过配置文件实现具体内存的手机,而不需要在代码中修改,而且此时再增加128G内存的手机也可以得到很好的扩展,代码维护更加方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值