From d70cf4669de315931485644e5a0de0192c599e57 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 6 Apr 2018 11:49:25 +0800 Subject: [PATCH] auto commit --- notes/设计模式.md | 28 +++++++----------- pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png | Bin 0 -> 40960 bytes 2 files changed, 11 insertions(+), 17 deletions(-) create mode 100644 pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png diff --git a/notes/设计模式.md b/notes/设计模式.md index 7df60ac7..fd0f6ee4 100644 --- a/notes/设计模式.md +++ b/notes/设计模式.md @@ -1,25 +1,20 @@ -* [一、前言](#一前言) -* [二、设计模式概念](#二设计模式概念) -* [三、单例模式](#三单例模式) -* [四、简单工厂](#四简单工厂) -* [五、工厂方法模式](#五工厂方法模式) -* [六、抽象工厂模式](#六抽象工厂模式) +* [一、概述](#一概述) +* [二、单例模式](#二单例模式) +* [三、简单工厂](#三简单工厂) +* [四、工厂方法模式](#四工厂方法模式) +* [五、抽象工厂模式](#五抽象工厂模式) * [参考资料](#参考资料) -# 一、前言 - -文中涉及一些 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 { ## 类图 -

+

抽象工厂模式创建的是对象家族,也就是很多对象而不是一个对象,并且这些对象是相关的,也就是说必须一起创建出来。而工厂模式只是用于创建一个对象,这和抽象工厂模式有很大不同。 diff --git a/pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png b/pics/920c034c-c212-4f79-9ddb-84e4bb6cd088.png new file mode 100644 index 0000000000000000000000000000000000000000..ac17fd0cc927833fd27a0dac37b6badc24435f84 GIT binary patch literal 40960 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 OpZ6bX-2a2`>i+_e7}ibz literal 0 HcmV?d00001