设计模式——23种设计模式的分类

本文详细介绍了设计模式的两种分类方法:一是根据目的分为创建型、结构型和行为型模式,分别包括工厂方法、适配器、单例等;二是根据作用范围分为类模式和对象模式,如模板方法、解释器等。设计模式是软件设计中的重要概念,有助于提高代码复用性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        ~~~~~~~~        
设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用范围来分。
        ~~~~~~~~        

一、根据目的来分

根据模式是用来完成什么工作来划分,这种方式可分为3种:

  1. 创建型模式
  2. 结构型模式
  3. 行为型模式
创建型模式

创建型模式用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”,GoF中提供了5种创建型模式:

  1. 工厂方法
  2. 抽象工厂
  3. 单例
  4. 原型
  5. 建造者
结构型模式

结构型模式描述如何将类或对象按某种布局组成更大的结构,GoF中提供了7种创建型模式:

  1. 代理
  2. 适配器
  3. 桥接
  4. 装饰
  5. 外观
  6. 享元
  7. 组合
行为型模式

行为型模式描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF中提供了11种行为型模式:

  1. 模板方法
  2. 策略
  3. 命令
  4. 职责链
  5. 状态
  6. 观察者
  7. 中介者
  8. 迭代器
  9. 访问者
  10. 备忘录
  11. 解释器
            ~~~~~~~~        

二、根据作用范围来分

根据模式是主要用于类上还是主要用于对象上来分,这种方式可分为类模式和对象模式两种。

类模式

用于处理类与子类之间的关系,这些关系通过继承来建立,属于静态的,在编译时刻便确定下来了。

工厂方法、(类)适配器、模板方法、解释器属于该模式。

对象模式

用于处理对象之间的关系,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。

除了以上4种,其它的都是对象模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PandaThug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值