文章目录
掌握设计模式的层次
- 第1层:刚开始学编程不久,听说过什么是设计模式
- 第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道
- 第3层:学习过了设计模式,发现自己已经在使用了,并且发现了些新的模式挺好用的
- 第4层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处。
- 第5层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来。
设计模式介绍
- 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式( Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的时间的试验和错误总结出来的。
- 设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度。
- <<设计模式>>是经典的书,作者是Erich Gamma、Richard Helm、Ralph
Johnson和John Vlissides Design (俗称“四人组 GOF”) - 设计模式并不局限于某种语言,java, php, C++都有设计模式.
分类
设计模式分为三种类型,共23种
- 创建型模式: 强调对象的创建
- 单例模式:系统中某个类的实例只有一个
- 抽象工厂模式
- 原型模式:怎么克隆一个对象,深拷贝还是浅拷贝
- 建造者模式
- 工厂模式
- 结构型模式: 怎么让软件扩展性好
- 适配器模式
- 桥接模式
- 装饰模式
- 组合模式
- 外观模式
- 享元模式
- 代理模式。
- 行为型模式:
- 模版方法模式:怎么设计方法
- 命令模式
- 访问者模式
- 迭代器模式
- 观察者模式
- 中介者模式
- 备忘录模式
- 解释器模式(Interpreter模式)
- 状态模式
- 策略模式
- 职责链模式(责任链模式)