什么叫IOC

IOC——Inversion of Control,即控制反转

这是一种设计思想,它指导我们设计出低耦合、更优良的程序。

控制:

IOC容器控制了对象,控制了外部资源获取。

反转:

是容器帮用户查找及注入依赖对象,对象只是被动接受依赖对象

IOC的实现原理就是工厂模式加反射机制

工厂模式:

即创建一个类专门用来实例化其他类,它们通常有相同的父类

反射机制:

是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。前提是知道这个类的名字。

那么为什么要用反射?

A a = (A)Class.forName(className).newInstance(); 
这和A a = new A(); 是一样的效果,那么为什么要这么麻烦?
这就涉及到了动态的概念

反射使得程序可以在运行时才知道类名,并生成对象,实现其中的方法,不用预先将对象的创建写入代码,使得程序更加灵活。

当你要创建另一个类的对象时使用反射机制能够不用修改源代码,反射机制根据类名便能创建对象。

 

posted @ 2018-06-07 16:21  hymstc  阅读(166)  评论(0)    收藏  举报