控制反转

控制反转(依赖注入)

IoC Inverse of Control & DI (Dependency Injection)

需要始终清晰我们真正需要实例需要符合什么类型

控制反转之前:

1
2
3
4
5
void (XiaoMing xiaoMing) {
xiaoMing.say("Hello");
}
XiaoMing xiaoMing = new XiaoMing();
hello(xiaoMing)

控制反转之后:

1
2
3
4
5
6
void (Person person) {
person.say("Hello");
}

Person person = new XiaoMing();
hello(person)

在此例,我们需要的是say(),而不是XiaoMing这个具体实例