设计模式(Design pattern)是一套被反复使用、思想成熟、经过分类和无数实战设计经验的总结的
使用设计模式是为了让系统代码可重用、可扩展、可解耦、更容易被人理解且能保证代码可靠性
设计模式使代码开发真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样
只有夯实地基搭好结构,才能盖好坚壮的大楼,也是我们迈向高级开发人员必经的一步
设计模式运用在程序设计中已经很多年了,它最早被整理在Erich Gamma、Richard Hlem、Ralph Johnson和Jhon Vlissides(绰号四人帮(the Gang of Four简称Gof))合著的一本书中
现在已经被应用到各种各样的编程语言,最大的魅力在于在各种编程语言中表现都是一样的,只是语法略有不同。例如把Java的实现模式转换到C很容易
设计模式存在根本原因是为了代码复用,增加可维护性。有如下原则:
- 【开闭原则】对扩展开放,对修改关闭,ps高考的试卷
- 【里氏转换原则】子类继承父类,单独掉完全可以运行,ps盗版光盘
- 【依赖倒转原则】引用一个对象,如果这个对象有底层类型,直接引用底层,ps三个和尚打水,直接可从井里打,但是中间把水打出来放到一个桶里
- 【接口隔离原则】每一个接口应该是一种角色,ps汽车USB插口
- 【合成/聚合复用原则】新的对象应使用一些已有的对象,使之成为新对象的一部分,Ps手里有一些相机的零件,而又去买了一个新的相机
- 【迪米特原则】一个对象应对其他对象有尽可能少得了解,Ps现实中得对象
- 创建型
- 单例模式
- 原型模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 结构型
- 适配器模式
- 装饰器模式
- 代理模式
- 外观模式
- 桥接模式
- 组合模式
- 享元模式
- 行为型
- 观察者模式
- 迭代器模式
- 策略模式
- 模板方法模式
- 职责链模式
- 命令模式
- 备忘录模式
- 状态模式
- 访问者模式
- 中介者模式
- 解释器模式