[读书笔记] Spring MVC 学习指南 -- 第一章
程序员文章站
2022-06-11 08:31:38
控制反转(Inversion of Control, IoC)/ 依赖注入: 比如说,类A依赖于类B,A需要调用B的某一个方法,那么在调用之前,类A必须先获得B的一个示例引用。 通常我们可以在A中写代码来直接创建对象B。依赖注入则会接管对象B的创建工作。 这样做的好处在于,如果B是一个接口,那么B就 ......
控制反转(inversion of control, ioc)/ 依赖注入:
比如说,类a依赖于类b,a需要调用b的某一个方法,那么在调用之前,类a必须先获得b的一个示例引用。
通常我们可以在a中写代码来直接创建对象b。依赖注入则会接管对象b的创建工作。
这样做的好处在于,如果b是一个接口,那么b就可能有多种实现。在a中直接创建一个实现,会降低其可重用性。
ioc把示例的创建从a的实现代码中分离出来,交由容器来完成,类a的实现就不需要关心b的具体实现,也使得a具有更高的可重用性。
public class a { private class b b; public void m1 { // b = new b(); 对象的创建可以交由容器完成 // 这样a只要调用类b的方法m2()就好了,不需要关心b b具体是什么 b.m2(); } }