重构关键技法

设计模式

一、概念

  1. 设计模式是在特定环境下人们解决某类重复出现的问题的一套成功或有效的解决方案。
  2. 软件模式并非仅限于设计模式,还包括架构模式、分析模式、过程模式等。
  3. 在一定环境下,用固定套路解决问题。
  4. 设计模式的基础是多态

二、目的

  1. 学习设计模式有助于更加深入的理解面向对象思想
  2. 如何将代码分散在几个不同的类中
  3. 为什么要有接口
  4. 何谓针对抽象编程
  5. 何时不应该使用继承
  6. 如何不修改源代码增加新功能
  7. 更好地阅读和理解现有类库与其它系统中的源代码

三、软件设计模式种类

GoF 提出的设计模式有 23 种,加简单工厂模式,一共 24

1、创建型模式 Creational 6种

如何创建对象

2、结构型模式 Structural 7种

如何实现类或对象的组合

让类和类进行组合,获得更大的结构

3、行为型模式 Behavioral 11种

类或对象怎样交互以及怎样分配职责