码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 设计模式-行为型设计模式-命令模式


    命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。[DP]

    1. // 命令接口
    2. interface Command {
    3. void execute();
    4. }
    5. // 具体命令类,实现了命令接口
    6. class ConcreteCommand implements Command {
    7. private Receiver receiver;
    8. public ConcreteCommand(Receiver receiver) {
    9. this.receiver = receiver;
    10. }
    11. @Override
    12. public void execute() {
    13. receiver.action();
    14. }
    15. }
    16. // 接收者类,知道如何执行请求
    17. class Receiver {
    18. public void action() {
    19. System.out.println("Receiver: 执行操作");
    20. }
    21. }
    22. // 调用者类,负责发送命令
    23. class Invoker {
    24. private Command command;
    25. public Invoker(Command command) {
    26. this.command = command;
    27. }
    28. public void setCommand(Command command) {
    29. this.command = command;
    30. }
    31. public void executeCommand() {
    32. command.execute();
    33. }
    34. }
    35. // 客户端代码
    36. public class Client {
    37. public static void main(String[] args) {
    38. // 创建接收者
    39. Receiver receiver = new Receiver();
    40. // 创建具体命令对象,并将接收者传递给它
    41. Command command = new ConcreteCommand(receiver);
    42. // 创建调用者,并将命令传递给它
    43. Invoker invoker = new Invoker(command);
    44. // 通过调用者执行命令
    45. invoker.executeCommand();
    46. }
    47. }

     

  • 相关阅读:
    腾讯云大数据ES Serverless
    神经网络收敛是什么意思,算法的收敛速度的计算
    【服务器数据恢复】误操作导致RAID0数据不可用的导致数据恢复案例
    c++视觉处理---霍夫变换
    Unix环境高级编程--8-进程控制---8.7函数waitid 8.8函数wait3 wait4
    关于POM声明为provided的依赖,运行程序时报错NoClassDefFoundError
    msql 查询json类型数据
    Android retrofit使用模板
    cf #833 Div.2(A-D)
    正则表达式之锚位 (Perl 版)
  • 原文地址:https://blog.csdn.net/qq_34690079/article/details/136574234
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号