diff --git a/notes/设计模式.md b/notes/设计模式.md
index 5c918888..72c1cd81 100644
--- a/notes/设计模式.md
+++ b/notes/设计模式.md
@@ -1387,11 +1387,11 @@ public class Client {
### 类图
-主题(Subject)具有注册和移除观察者、并通知所有注册者的功能,主题是通过维护一张观察者列表来实现这些操作的。
+主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。
观察者(Observer)的注册功能需要调用主题的 registerObserver() 方法。
-
+
### 实现
@@ -1410,9 +1410,6 @@ public interface Subject {
```
```java
-import java.util.ArrayList;
-import java.util.List;
-
public class WeatherData implements Subject {
private List observers;
private float temperature;
@@ -1521,7 +1518,7 @@ StatisticsDisplay.update: 1.0 1.0 1.0
### 类图
-
+
### 实现
@@ -1825,14 +1822,14 @@ No gumball dispensed
### 类图
-- Strategy 接口定义了一个算法族,它们都具有 BehaviorInterface() 方法。
-- Context 是使用到该算法族的类,其中的 doSomething() 方法会调用 BehaviorInterface(),setStrategy(in Strategy) 方法可以动态地改变 strategy 对象,也就是说能动态地改变 Context 所使用的算法。
+- Strategy 接口定义了一个算法族,它们都具有 behavior() 方法。
+- Context 是使用到该算法族的类,其中的 doSomething() 方法会调用 behavior(),setStrategy(in Strategy) 方法可以动态地改变 strategy 对象,也就是说能动态地改变 Context 所使用的算法。
-
+
### 与状态模式的比较
-状态模式的类图和策略模式一样,并且都是能够动态改变对象的行为。
+状态模式的类图和策略模式类似,并且都是能够动态改变对象的行为。
但是状态模式是通过状态转移来改变 Context 所组合的 State 对象,而策略模式是通过 Context 本身的决策来改变组合的 Strategy 对象。
@@ -2659,7 +2656,7 @@ public interface Beverage {
```
```java
-public class DarkRoast implements Beverage{
+public class DarkRoast implements Beverage {
@Override
public double cost() {
return 1;
@@ -2727,7 +2724,9 @@ public class Client {
### 设计原则
-类应该对扩展开放,对修改关闭:也就是添加新功能时不需要修改代码。饮料可以动态添加新的配料,而不需要去修改饮料的代码。不可能把所有的类设计成都满足这一原则,应当把该原则应用于最有可能发生改变的地方。
+类应该对扩展开放,对修改关闭:也就是添加新功能时不需要修改代码。饮料可以动态添加新的配料,而不需要去修改饮料的代码。
+
+不可能把所有的类设计成都满足这一原则,应当把该原则应用于最有可能发生改变的地方。
### JDK
diff --git a/pics/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png b/pics/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png
new file mode 100644
index 00000000..78a69978
Binary files /dev/null and b/pics/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png differ
diff --git a/pics/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png b/pics/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png
new file mode 100644
index 00000000..0f7d6660
Binary files /dev/null and b/pics/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png differ
diff --git a/pics/c5085437-54df-4304-b62d-44b961711ba7.png b/pics/c5085437-54df-4304-b62d-44b961711ba7.png
new file mode 100644
index 00000000..36c948aa
Binary files /dev/null and b/pics/c5085437-54df-4304-b62d-44b961711ba7.png differ