23种设计模式都适用于哪些场景?

根据对设计模式的学习,总结出各类设计模式的使用场景,了解哪些场景下适合使用哪种设计模式来解决该场景的问题,这样才能学而致用,仅仅了解设计模式但不能实践那学了又有什么用呢?下面来看看各种设计模式的使用场景(个人理仅供参考)

一、创建模式

1.工厂方法:一个工厂通过方法创建多个产品
2.抽象工厂方法:多个工厂创建多个产品族
3.建造者模式:分解构建步骤,分步构建
4.原型模式:一个对象需要多次修改部分值,利用克隆实现
5.单例模式:只要一个实例,减少系统开销

二、结构模式

6.适配器模式:重构时,不修改已有模块,增加适配器来协调2个模块工作
7.桥接模式:开发时,jdbc,需要增加桥对象,可切换对接对象,实现不同桥功能
8.组合模式:开发时,组织机构,文档结构
9.装饰器模式:重构时,不修改已有模块,对已有模块功能进行扩展
10.外观模式:开发重构
11.享元模式:开发时,创建对象池,共享对象,减少系统开销
12.代理模式:重构时,代理目标对象执行,主要是控制目标对象方式是否执行

三、行为模式

13.责任链模式:审批流
14.命令模式:浏览器的请求方式,封装请求,分离请求者与接收者
15.解释器模式:表达式解析
16.迭代器模式:迭代器
17.备忘录模式:ghost,保存当前对象状态,用于恢复
18.中介者模式:QQ,多个构件间通信的枢纽
19.观察者模式:消息通知,广播机制,通过注册接收者,观察者发消息给多个接收者
20.状态模式:针对对象切换,将状态封装成对象,通过切换状态来用不同状态对象实现相同方法。
21.策略模式:针对方法切换,对某个方法进行切换,实现不同的实现方式。
22.模板方法模式:sitmesh,tiles,freemarker就是类似装饰模式,只不过如同模板一般,只需要关注变动的地方即可
23.访问者模式:利用多态特性

  • 1
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值