掌握设计模式的层次
| 层次 | 描述 | 对比 | 
|---|---|---|
| 第一层:听闻 | 刚学编程, 听说过设计模式 | 刚出生, 听说过修仙 | 
| 第二层:接触 | 会写代码, 其中用到了设计模式,但是自己不知道 | 在聚会上接触到了,修炼中人,但是自己不知道 | 
| 第三层:修炼 | 学习过设计模式,已经在用,发现还挺好用的 | 找到了功法, 开始修炼, emm功法还行 | 
| 第四层:机缘 | 阅读框架和源码,看大佬写的, 并且能领会设计模式的精妙和带来的好处 | 在外出历练的时候,找到了前人大能的洞府, 能够看懂大能的修炼方式和武功秘籍` | 
| 第五层:渡劫成仙 | 代码写着写着,自己都没意识到使用了设计模式, 并且熟练的写了出来 | 大能的修炼方式,天天修炼, 武功秘籍天天使用,到后来自己都没意识到, 已经渡劫成仙了 | 
设计模式介绍
- 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验(前人栽树), 模式不是代码,而是某类问题的通用解决方案, 设计模式代表了最佳实践, 这些解决方案是众多软件开发人员经过相当长的一段时间的实验和错误总结出来的
 - 设计模式的本质提高了 软件的维护性, 通用性和扩展性, 并降低了软件的复杂度
 - 设计模式并不局限于某种语言, Java C# Php都有设计模式
设计模式类型
设计模式分为三种类型, 22种(抽象工厂我也不知道是算工厂模式里面还是不算,算就是22种,不算就是23种) 
| 类型 | 模式 | 
|---|---|
| 创建型模式 | 单利模式 | 
| 工厂模式 | |
| 原型模式 | |
| 建造者模式 | |
| 结构型模式 | 适配器模式 | 
| 桥接模式 | |
| 装饰模式 | |
| 组合模式 | |
| 外观模式 | |
| 享元模式 | |
| 代理模式 | |
| 行为型模式 | 模板方法模式 | 
| 命令模式 | |
| 访问者模式 | |
| 迭代器模式 | |
| 观察者模式 | |
| 中介者模式 | |
| 备忘录模式 | |
| 解释器模式(Intercepter模式) | |
| 状态模式 | |
| 策略模式 | |
| 职责链模式(责任链模式) | 
