命令模式(结合案例)

本文详细介绍了命令模式的概念,通过小明打开电视的例子阐述其工作原理。接着展示了如何用代码实现命令模式,最后探讨了命令模式的优缺点,包括降低系统耦合、易于扩展和组合等优点,同时也指出可能产生的大量命令类和理解难度增加的缺点。

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

一、什么是命令模式?

命令模式定义:将一个请求封装成一个对象,将使用请求的对象和实现请求的对象分开。这样两者之间通过命令对象进行沟通,这样降低了系统耦合

举个例子:小明要打开电视,那么小明直接点击遥控器的开机按钮,电视就开,在这个过程中的对象如下

  • 小明:调用者
  • 遥控器:命令发送者
  • 电视:命令接收者
    命令模式

二、如何实现命令模式?

接下来通过以下代码实现上面的例子

public class CommandDemo {
    public static void main(String[] args) {
        // 1 建好一个遥控器命令
        Command realCommand = new RealCommand();
        // 2 新建执行者 小明
        Invoker xiaoming = new Invoker(realCommand,"小明");
        // 3 小明点击打开电视
        xiaoming.open();
    }
}

// 接收者
class Receiver {
    public void openTV() {
        System.out.println("电视机收到开机命令,电视开机了");
    }
}

// 具体命令,只负责传递一个执行命令
class Rea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值