什么是设计模式

设计模式是软件设计中常见问题的典型解决方案。可用于解决代码中反复出现的设计问题。

设计模式与方法或库的使用方式不同,你很难直接在自己的程序中套用某个设计模式。模式并不是一段特定的代码,而是解决特定问题的一般性概念。你可以根据模式来实现符合自己程序实际所需的解决方案。

人们常常会混淆模式和算法,因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤,而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。

算法更像是菜谱:提供达成目标的明确步骤。而模式更像是蓝图:你可以看到最终的结果和模式的功能,但需要自己确定实现步骤。

模式的分类

不同设计模式在其复杂程度、细节层次以及在整个系统中的应用范围等方面各不相同。

  • 创建型模式提供创建对象的机制,增加已有代码的灵活性和可复用性。
  • 结构型模式介绍如何将对象和类组成较大的结构,并同时保持结构的灵活和高校
  • 行为模式负责对象间的高效沟通和指责委派。