diff --git a/notes/设计模式.md b/notes/设计模式.md index 7df60ac7..fd0f6ee4 100644 --- a/notes/设计模式.md +++ b/notes/设计模式.md @@ -1,25 +1,20 @@ <!-- GFM-TOC --> -* [一、前言](#一前言) -* [二、设计模式概念](#二设计模式概念) -* [三、单例模式](#三单例模式) -* [四、简单工厂](#四简单工厂) -* [五、工厂方法模式](#五工厂方法模式) -* [六、抽象工厂模式](#六抽象工厂模式) +* [一、概述](#一概述) +* [二、单例模式](#二单例模式) +* [三、简单工厂](#三简单工厂) +* [四、工厂方法模式](#四工厂方法模式) +* [五、抽象工厂模式](#五抽象工厂模式) * [参考资料](#参考资料) <!-- GFM-TOC --> -# 一、前言 - -文中涉及一些 UML 类图,为了更好地理解,可以先阅读 [UML 类图](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E6%80%9D%E6%83%B3.md#%E7%AC%AC%E4%B8%89%E7%AB%A0-uml)。 - -# 二、设计模式概念 +# 一、概述 设计模式不是代码,而是解决问题的方案,学习现有的设计模式可以做到经验复用。 拥有设计模式词汇,在沟通时就能用更少的词汇来讨论,并且不需要了解底层细节。 -# 三、单例模式 +# 二、单例模式 ## 意图 @@ -131,7 +126,7 @@ if (uniqueInstance == null) { } ``` -# 四、简单工厂 +# 三、简单工厂 ## 意图 @@ -207,8 +202,7 @@ public class Client { } ``` - -# 五、工厂方法模式 +# 四、工厂方法模式 ## 意图 @@ -258,7 +252,7 @@ public class ConcreteFactory2 extends Factory { } ``` -# 六、抽象工厂模式 +# 五、抽象工厂模式 ## 意图 @@ -266,7 +260,7 @@ public class ConcreteFactory2 extends Factory { ## 类图 -<div align="center"> <img src="../pics//5f96e565-0693-47df-80f1-29e4271057b7.png"/> </div><br> +<div align="center"> <img src="../pics//920c034c-c212-4f79-9ddb-84e4bb6cd088.png"/> </div><br> 抽象工厂模式创建的是对象家族,也就是很多对象而不是一个对象,并且这些对象是相关的,也就是说必须一起创建出来。而工厂模式只是用于创建一个对象,这和抽象工厂模式有很大不同。 diff --git a/pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png b/pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png new file mode 100644 index 00000000..ac17fd0c Binary files /dev/null and b/pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png differ