设计模式 - 概述


设计模式代表了经验丰富的面向对象软件开发人员使用的最佳实践。设计模式是软件开发人员在软件开发过程中遇到的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长一段时间的反复试验而获得的。

什么是四人帮(GOF)?

1994 年,四位作者 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 出版了一本名为《设计模式 - 可重用面向对象软件的元素》的书,提出了软件开发中设计模式的概念。

这些作者统称为四人帮 (GOF)。根据这些作者的说法,设计模式主要基于以下面向对象设计的原则。

  • 针对接口而非实现进行编程

  • 优先考虑对象组合而不是继承

设计模式的使用

设计模式在软件开发中有两个主要用途。

开发者通用平台

设计模式提供了标准术语并且特定于特定场景。例如,单例设计模式表示使用单个对象,因此所有熟悉单一设计模式的开发人员都将使用单个对象,并且他们可以告诉对方程序正在遵循单例模式。

最佳实践

设计模式已经发展了很长一段时间,它们为软件开发过程中遇到的某些问题提供了最佳解决方案。学习这些模式可以帮助没有经验的开发人员以简单快捷的方式学习软件设计。

设计模式的类型

根据设计模式参考书《设计模式 - 可重用面向对象软件的元素》,共有 23 种设计模式,可分为三类:创建模式、结构模式和Behave模式。我们还将讨论另一类设计模式:J2EE 设计模式。

序列号图案及描述
1创建模式
这些设计模式提供了一种在隐藏创建逻辑的同时创建对象的方法,而不是直接使用 new 运算符实例化对象。这使得程序在决定需要为给定用例创建哪些对象时具有更大的灵活性。
2结构模式
这些设计模式涉及类和对象组合。继承的概念用于组合接口并定义组合对象以获得新功能的方法。
3Behave模式
这些设计模式特别关注对象之间的通信。
4J2EE 模式
这些设计模式特别关注表示层。这些模式由 Sun Java 中心识别。