IOC理论推导

IOC理论推导

  1. UserDao 接口

  2. UserDaoImpl 实现类

  3. UserService 业务接口

    private UserDao userDao = new UserDaoImpl();
    
  4. UserServiceImpl 业务实现类

在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分大,修改一次的成本代价十分昂贵!

现在通过Set接口实现

private UserDao userDao;
public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
}
  • 之前,程序是主动创建对象,控制权在程序猿手上
  • 使用Set注入后,程序不再具有主动性,而是变成了被动的接受对象

这种思想,从本质上解决了问题,程序猿不需要再去管理对象的创建了.系统的耦合性大大降低,可以更加专注于业务的实现上,这就是IOC的原型

IOC本质

控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法。没有IoC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,所谓控制反转就是:获得依赖对象的方式反转了。

原文地址:https://www.cnblogs.com/pinked/p/12188476.html