diff --git a/design-pattern/1、设计模式概述.md b/design-pattern/1、设计模式概述.md
new file mode 100644
index 0000000..da4c773
--- /dev/null
+++ b/design-pattern/1、设计模式概述.md
@@ -0,0 +1,52 @@
+#
设计模式概述
+
+
+
+### 编程方法论
+
+ 编写高质量代码的方法论,包含面向对象、设计原则、设计模式、编程规范、重构技巧等
+
+
+### 代码质量评价
+
+ 可读性、可维护性、灵活性、简洁性、可复用性、可测试性、可扩展性。有很多工具可以做代码审计,评价代码的抽象、耦合程度。
+
+
+### 六大设计原则
+
+* 单一职责原则
+* 开放封闭原则
+* 里氏替换原则
+* 接口隔离原则
+* 依赖倒转原则
+* 迪米特法则
+
+
+### 设计模式
+
+设计模式相关书籍,<设计模式:可复用面向对象软件的基础.pdf>
+设计模式可大致分为三类,创建型、结构性、行为型。
+
+
+
+
+### UML图
+
+ 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
+
+##### UML的分类
+
+ 静态结构图: 类图、对象图、组件图、部署图
+ 动态行为图: 状态图、活动图、时序图、协作图、构件图等。
+
+在类的UML图中,使用长方形描述一个类的主要构成,长方形垂直地分为三层,依次放置类的名称、属性和方法。+表示public、-表示private、#表示protected、不带符号表示默认修饰符。抽象类及抽象方法都用斜体字表示,接口用<<Interfact>>表示。
+
+##### UML类图中类关系的表述
+
+*类实现接口 虚线、空心三角箭头
+*泛化(单向、双向关联、自关联) 实线、空心三角箭头
+*聚合(A持有B,B在A的构造方法中new) 实线、空心方块
+*组合(A持有B,B为注入的对象) 实线、实心方块
+*依赖(A对象的某个方法某个入参为B对象) 虚线、虚线箭头
+
+
diff --git a/design-pattern/设计模式分类.png b/design-pattern/设计模式分类.png
new file mode 100644
index 0000000..1ab2ce9
Binary files /dev/null and b/design-pattern/设计模式分类.png differ