每个模式都描述了一个在我们环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,人们可以无数次的重用那些已有的解决方案,无需重复相同的工作。
GoF的定义设计模式是在特定环境下未解决某一通用软件设计问题提供的一套订制的解决方案,该方案描述了类与对象之间的相互作用。
无论是哪一种定义,我们都可以看出设计模式实质上是一种思维想法,是一种对于特定问题的解决方案。它是与编程语言无关,使用于面向对象的编程语言。
设计模式的基本要素通常,设计模式一般包含以下四个基本要素:
- 模式名称
- 问题
- 解决方案
- 效果
这四个基本要素并不难理解,把他们连成一句话,就是“XXX模式可以解决XXX问题,应该XXXX去做,会达到XXXXX效果”
设计模式的分类根据目的分类
- 创建型模式
- 结构型模式
- 行为型模式
根据范围分类
- 类模式
- 对象模式
GoF的23种设计模式分类
23种设计模式的分类
这里就先不对每个设计模式进行解释了,在之后的教程中会针对每一个设计模式进行详细的说明。