0
点赞
收藏
分享

微信扫一扫

设计模式----命令者模式

柠檬的那个酸_2333 2022-01-20 阅读 30
命令模式

1)命令者模式

public class Light {
    private String lightName;

    Light(String lightName){
        this.lightName = lightName;
    }

    public void on(){
        System.out.println("----"+lightName+"--on--");
    }

    public void of(){
        System.out.println("----"+lightName+"--of--");
    }
}
// 执行一个命令
interface LightOnCommand{
    void execute();
}
// 执行一个命令
interface LightOfCommand{
    void execute();
}
// 执行两个命令
interface LightOnOfCommand{
    void executeOn();
    void executeOff();
}
class OnLightCommand implements LightOnCommand{

    Light light;
    OnLightCommand(Light light){
        this.light = light;
    }

    @Override
    public void execute() {
        light.on();
    }
}
class OfLightCommand implements LightOfCommand{
    Light light;
    OfLightCommand(Light light){
        this.light = light;
    }

    @Override
    public void execute() {
        light.of();
    }
}
class OnOfLightCommand implements LightOnOfCommand{

    Light light;
    
    OnOfLightCommand(Light light){
        this.light = light;
    }

    @Override
    public void executeOn() {
        light.on();
    }

    @Override
    public void executeOff() {
        light.of();
    }
}

优点:比较灵活,可以调用一个方法也可以是两个

举报

相关推荐

0 条评论