先简单解释几个名词。
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.创建一个