2. IOC
- UserDao接口
- UserDaolmpl实现类
- UserService业务接口
- UserServicelmpl业务实现类
在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改源代码,如果程序的代码量非常大,修改一次的成本十分昂贵。
我们使用一个set接口实现,发生了革命性的变化
private UserDao userDao; /** * 利用set实现一个动态的接入 */ public void setUserDao(UserDao userDao) { this.userDao = userDao; }
- 之前,程序是主动创建对象,控制权在程序员手上
- 使用set注入后,程序不再具有主张性,而是变成了被动的接受对象
这种思想,从本质上解决问题,我们不用再去管理对象的创建了。系统的耦合度大大降低,可以更加专注的在业务上的实现,这就是IOC的原型。