设计模式的概述
GoF(Gang of Four,GoF分别是 Erich Gamma,Richard Helm,Ralph Johoson 和 John Vlissides) 4 位著名的软件工程学者,他们在 1994 年归纳发表了 23 种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通方面面向对象方法在分析、设计和实现间的鸿沟。
GoF 将模式的概念引入到软件工程领域,这标志着软件模式的诞生。软件模式是将模式的概念应用于软件开发领域,即软件开发的总体指导思想或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存周期的每一个阶段都存在这一些被认同的模式。
软件模式基本结构:
设计模式的定义与分类
设计模式的定义
设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。
设计模式的分类
设计模式的优点
-
融合了众多专家的经验,并以一种标准的形式供广大开发人员所用,它提供了一套通用的设计词汇和一种通用的语言,以方便开发人员之间进行沟通和交流,使得设计方案更加通俗易懂。使用不同编程语言的开发和设计人员可以通过设计模式来交流系统设计方案,每一个设计模式都对应一个标准的解决方案,设计模式可以降低开发人员的理解系统的复杂度。
-
让人们可以更加简单方便地复用成功的设计和体系结构,可是新系统人员更加容易理解其设计思路。设计模式使得重用功能的设计更加容易,并避免导致不可重复的设计方案。
-
使得设计方案更加灵活,且易于修改。很多设计模式中广泛的使用了面向对象的设计原则,使得系统具有较好的可维护性。
-
提高软件系统的开发效率和开发质量,且在一定的程度上节约设计成本。
-
有助于初学者更深入的理解面向对象的思想,一方面可以帮助初学者更加方便的阅读和学习现有类库与其他系统中的源代码,另一方面还可以提高软的件设计水平和代码质量。