什么是设计模式

  • 设计模式 (Design pattern) 代表了最佳实践
  • 通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
  • 使用设计模式是为了重用代码,让代码更容易被他人理解,保证代码可靠性。
  • 设计模式是软件工程的基石,如同大厦的一块块砖石一样。
  • 项目中合理使用设计模式可以完美解决很多问题,每种设计模式都描述了我们周围不断重复发生的问题,以及该问题核心解决方案。

什么是GOF

  • 在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书
  • 四位作者合称 GOF(四人帮,全拼 Gang of Four)
  • 他们所提出的设计模式主要是基于以下的面向对象设计原则。
    • 对接口编程而不是对实现编程
    • 优先使用对象组合而不是继承

设计模式的类型

根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)