android设计模式二十三式(十八)——命令模式(Command)

本文探讨了Android开发中的命令模式,旨在实现发起者与执行者的解耦。通过一个生动的例子,解释了如何将命令的发起(如母亲喊吃饭)与执行(孩子回家吃饭)分离,利用命令对象作为两者之间的桥梁,降低耦合度。
摘要由CSDN通过智能技术生成

命令模式

命令模式,主要作用是将命令的发起者和命令的执行者进行解耦。

举个栗子:

返点到了,你妈妈喊你回家吃饭咯,那么这个命令的发起者就是你妈妈,你而你就是那个回家吃饭的命令执行者

/**
 * @author: hx
 * @Time: 2019/5/22
 * @Description: Command
 */
public interface Command {
    /**
     * 执行命令的方法
     */
    void excute();
}

/**
 * @author: hx
 * @Time: 2019/5/22
 * @Description: MyCommand
 */
public class MyCommand implements Command {

    private You mYou;


    public MyCommand(You you) {
        mYou = you;
    }

    @Override
    public void excute() {
        System.out.println("执行命令");
        mYou.action();
    }
}

/**
 * @author: hx
 * @Time: 2019/5/22
 * @Description: Mother
 */
public class Mother {
    private Command mCommand;

    public Mother(Command command) {
        mCommand = command;
    }

    public void action(){
        System.out.println("回家吃饭");
        mCommand.excute();
    }
}

/**
 * @author: hx
 * @Time: 2019/5/22
 * @Description: You
 */
public class You {
    private String name;

    public You(String name) {
        this.name = name;
    }

    public void action(){
        System.out.println(name+"回家吃饭");
    }
}

来一个喊你回家吃饭

public static void main(String[] args){
    You you = new You("小明");
    Command command = new MyCommand(you);
    Mother mother = new Mother(command);
    mother.action();
}

输出结果:
回家吃饭
执行命令
小明回家吃饭

是不是很好理解,其实就是把mother和you分来了,相互之间不直接调用,通过中间的command来进行命令传递并调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值