设计模式的整体框架

137 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

这一个月一直都在复习软件设计师的考试,由于学校课程的安排,许多软考中的知识点都是我之前闻所未闻的。因为没有什么好的办法,就只好刷题查错再刷题再查错这样的循环。虽然之前在学习java基础知识的过程中了解了单例设计模式等,但当我真正系统地接触到设计模式的时候,还是很震撼......(虽然我不太懂但我大受震撼.jpg)

设计模式背景简单介绍

1-1Q1121P24VM.jpg

1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。

这 23 种设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。

当然,软件设计模式只是一个引导,在实际的软件开发中,必须根据具体的需求来选择:

  • 对于简单的程序,可能写一个简单的算法要比引入某种设计模式更加容易;
  • 但是对于大型项目开发或者框架设计,用设计模式来组织代码显然更好。

相关资料引用来源

设计模式的分类

设计模式共有二十三种,二十三种设计模式又分为三类:创建型模式、结构性模式、行为型模式。

创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。

结构性模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、 解释器模式(Interpreter 模式)、状态模式、策略模式、职责链模式(责任链模式)。