当前位置: 首页 > news >正文

命令模式-

定义:又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。

应用场景

1、对于很多数的请求-响应模式的功能,比较适合使用命令模式,命令模式对实现记录日志、撤销操作等功能比较方便。

2、命令模式可以使调用者和接收者不直接交互,对调用者和接收者进行解耦时。

优点

1、命令模式将命令都封装起来,所以封装性好;

2、命令模式将命令的调用者和执行者分开,使得双方不必知道对方是如何操作的,降低了耦合度;

3、命令模式的拓展性好,接受者会对操作进行基本的封装,命令类再对基本操作进行二次封装,增加新命令时不必从新写,代码的复用性好;

缺点

1、性能:如果责任链太长,或责任链中请求的处理时间过长,可能会影响性能

2、调试:不是很方便,特别是链条比较长,责任链可能过多,调试的时候

源码应用
               1)Spring的JdbcTemplate中statementCallback

               2)JDK中只要是实现了 Runnable 接口的类都被认为是一个线程,相当于命令模式中的具体命令角色。

http://www.lryc.cn/news/172157.html

相关文章:

  • 进程的管理
  • 绿色科技:可持续发展的创新解决方案
  • 安防视频/视频汇聚平台EasyCVR使用onvif探测添加设备通道详细步骤来啦!
  • Python单例模式(3种常用方式)
  • uni-app实现web-view图片长按下载
  • 深入理解Linux网络笔记(一):内核是如何接收网络包的
  • android系统目录结构
  • 怒刷LeetCode的第11天(Java版)
  • CentOS LVM缩容与扩容步骤
  • 开发者福利!李彦宏将在百度世界大会手把手教你做AI原生应用
  • 堆的OJ题
  • 物联网网关:连接设备与云端的桥梁
  • ChatGPT企业版来了,速度翻倍,无使用限制
  • opencv图像像素类型转换与归一化
  • 【自学开发之旅】Flask-前后端联调-异常标准化返回(六)
  • springcloud3 分布式事务解决方案seata之XA模式4
  • 编译ctk源码
  • 前后端分离的低代码快速开发框架
  • 【Java 基础篇】Java同步代码块解决数据安全
  • 亿纬锦能项目总结
  • 简明 SQL 组合查询指南:掌握 UNION 实现数据筛选
  • 【springMvc】自定义注解的使用方式
  • 求二维子数组的和(剖析)
  • 无(低)代码开发思路介绍
  • 代码随想录刷题 Day14
  • 二分类问题的解决利器:逻辑回归算法详解(一)
  • docker alpine镜像中遇到 not found
  • python的多线程多进程与多协程
  • 一文介绍使用 JIT 认证后实时同步用户更加优雅
  • 搞定“项目八怪”,你就是管理高手!