在软件编程的过程中,为了解决软件开发过程中对象之间的相互通信,相互依赖的结构关系,达到代码的可重用性,可靠性,会在不同的场景采用不同的设计方法。

在软件工程领域,经过众多软件开发人员相当一段时间的实践和错误的总结,逐渐的将这种设计方法形成一种模式。这种模式是软件开发人员在软件开发过程中面临一般问题的解决方案。

那么在软件领域谈到模式,我们不得不提到GoF.

在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 《Design Patterns - Elements of Reusable Object-Oriented Software》(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。

四位作者合称 GOF(四人帮,全拼 Gang of Four)。他们所提出的设计模式主要是基于以下的面向对象设计原则。

对接口编程而不是对实现编程。
优先使用对象组合而不是继承。

GoF将模式的概念引入软件工程领域,这标志着软件模式的诞生。软件模式并非仅限于设计模式,还包括架构模式,分析模式,过程模式等,实际上,在软件开发生命周期的每一个阶段都存在着一些被认同的模式。