Skip to content

Commit 871bacd

Browse files
authored
修改部分笔误
1 parent 9795bc6 commit 871bacd

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

docs/system-design/framework/spring/ioc-and-aop.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ IoC (Inversion of Control )即控制反转/反转控制。它是一种思想
2727
例如:现有类 A 依赖于类 B
2828

2929
- **传统的开发方式** :往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来
30-
- **使用 IoC 思想的开发方式** :不通过 new 关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面过去即可
30+
- **使用 IoC 思想的开发方式** :不通过 new 关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面去取即可
3131

3232
从以上两种开发方式的对比来看:我们 “丧失了一个权力” (创建、管理对象的权力),从而也得到了一个好处(不用再考虑对象的创建、管理等一系列的事情)
3333

@@ -53,7 +53,7 @@ IoC 的思想就是两方之间不互相依赖,由第三方容器来管理相
5353

5454
很完美,这种方式也是可以实现的,但是我们想象一下如下场景:
5555

56-
开发过程中突然接到一个新的需求,针对对`IUserDao` 接口开发出另一个具体实现类。因为 Server 层依赖了`IUserDao`的具体实现,所以我们需要修改`UserServiceImpl`中 new 的对象。如果只有一个类引用了`IUserDao`的具体实现,可能觉得还好,修改起来也不是很费力气,但是如果有许许多多的地方都引用了`IUserDao`的具体实现的话,一旦需要更换`IUserDao` 的实现方式,那修改起来将会非常的头疼。
56+
开发过程中突然接到一个新的需求,针对`IUserDao` 接口开发出另一个具体实现类。因为 Server 层依赖了`IUserDao`的具体实现,所以我们需要修改`UserServiceImpl`中 new 的对象。如果只有一个类引用了`IUserDao`的具体实现,可能觉得还好,修改起来也不是很费力气,但是如果有许许多多的地方都引用了`IUserDao`的具体实现的话,一旦需要更换`IUserDao` 的实现方式,那修改起来将会非常的头疼。
5757

5858
![](https://oss.javaguide.cn/github/javaguide/system-design/framework/spring/why-ioc.png)
5959

@@ -63,7 +63,7 @@ IoC 的思想就是两方之间不互相依赖,由第三方容器来管理相
6363

6464
### IoC 和 DI 有区别吗?
6565

66-
IoC(Inverse of Control:控制反转)是一种设计思想或者说是某种模式。这个设计思想就是 **将原本在程序中手动创建对象的控制权交给第三方比如 IoC 容易** 对于我们常用的 Spring 框架来说, IoC 容器实际上就是个 Map(key,value),Map 中存放的是各种对象。不过,IoC 在其他语言中也有应用,并非 Spring 特有。
66+
IoC(Inverse of Control:控制反转)是一种设计思想或者说是某种模式。这个设计思想就是 **将原本在程序中手动创建对象的控制权交给第三方比如 IoC 容器** 对于我们常用的 Spring 框架来说, IoC 容器实际上就是个 Map(key,value),Map 中存放的是各种对象。不过,IoC 在其他语言中也有应用,并非 Spring 特有。
6767

6868
IoC 最常见以及最合理的实现方式叫做依赖注入(Dependency Injection,简称 DI)。
6969

@@ -132,7 +132,7 @@ public CommonResponse<Object> method2() {
132132
// ...
133133
```
134134

135-
使用 AOP 技术之后,我们可以日志记录的逻辑封装成一个切面,然后通过切入点和通知来指定在哪些方法需要执行日志记录的操作。
135+
使用 AOP 技术之后,我们可以将日志记录的逻辑封装成一个切面,然后通过切入点和通知来指定在哪些方法需要执行日志记录的操作。
136136

137137
```java
138138

0 commit comments

Comments
 (0)