Skip to content

【设计模式】简介

面向对象编程 OOP

基础

  • 对象
  • 方法

主要概念

  • 封装
  • 继承
  • 多态
  • 抽象
  • 组合

设计原则

开放/封闭原则

  • 核心
    • 对拓展开放
    • 对修改关闭
  • 优点
    • 有助于以前的代码保持向后兼容性

控制反转原则

  • 核心
    • 高层级的模块不应该依赖于低层级的模块,都应该依赖于抽象。
    • 细节应该依赖于抽象,而不是抽象依赖于细节。
  • 优点
    • 在依赖模块直接有一个明确的抽象层,方便处理依赖关系

接口隔离原则

  • 核心
    • 不应该依赖不需要的接口
  • 优点
    • 强制编写瘦身型接口
    • 防止向接口中随意添加方法

单一职责原则

  • 核心
    • 类的职责单一,引起类变化的原因单一
  • 优点
    • 功能发生改变时,只需更改特定的类

替换原则

  • 核心
    • 派生类必须能完全取代基类
  • 优点
    • 派生类可以替换基类,无需修改任何代码

设计模式分类

设计模式就是解决特定问题的解决方案。

从本质上说,设计模式就是从别人的成功而非自己的失败中学习。

GoF(Gang of Four)中的三大设计模式:

  • 创建型模式
  • 结构型模式
  • 行为型模式

创建型模式

  • 性质
    • 运行机制基于对象的创建方式
    • 将对象创建的细节隔离开来
    • 代码与所创建的对象的类型无关
  • 典型
    • 单例模式

结构型模式

  • 性质
    • 通过组合获得更强大的对象和类的结构
    • 重点是简化结构并识别类和对象之间的关系
    • 关注类的继承和组合
  • 典型
    • 适配器模式

行为型模式

  • 性质
    • 关注对象之间的交互和对象的响应性
    • 对象直接能够交互,同时仍然保持松散耦合
  • 典型
    • 观察者模式

设计模式的应用场景

  • 设计模式是已有问题的解决方案

  • 分析设计阶段非常有用

上次更新于: