17.设计模式-命令模式

命令模式,按我的理解就是把请求的命令,和执行命令的业务分开来的一种设计模式。所以要包含命令对象,也要包含执行对象,以及添加命令的对象。代码实现如下

命令抽象类

/**
 * 命令对象,提供执行的方法
 */
public abstract class Cammand {
    public Receiver receiver;

    public Cammand(Receiver receiver) {
        this.receiver = receiver;
    }

    public abstract void execute();
}

具体命令实现类

public class CammandA extends  Cammand {
    public CammandA(Receiver receiver) {
        super(receiver);
    }
    @Override
    public void execute() {
        receiver.dosomething();
    }
}

处理任务类

/**
 * 接受命令,处置类
 */
public abstract class Receiver {
    public abstract void dosomething();
}

处理任务实现类

public class ReceiverA extends Receiver {
    @Override
    public void dosomething() {
        System.out.println("执行了一条具体的命令");
    }
}

添加命令类

/**
 * 添加命令,并发送
 */
public class Sender {
    public Cammand cammand;

    public Sender(Cammand cammand) {
        this.cammand=cammand;
    }
    public void addCammnd() {
        System.out.println("添加了一条命令");
        cammand.execute();
    }
}

测试


public class CammandTest {
    public static void main(String[] args) {
        Receiver receiver = new ReceiverA();
        Cammand cammand = new CammandA(receiver);
        Sender sender = new Sender(cammand);
        sender.addCammnd();
    }
}

结果

添加了一条命令
执行了一条具体的命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值