android设计模式: 命令模式

来源:互联网 发布:游戏核心算法 编辑:程序博客网 时间:2024/06/05 14:10

今天,这个设计模式我还是挺喜欢的

他的定义也很简单:将请求封装成一个对象   体现到具体设计的时候,就是为一个动作抽象出一个类   如下

public interface Command {

public void excute();

}

上面已经抽象出一个接口了,我们的具体实现就是实现它的excute(),当然集体的逻辑代码肯定是不一样的,如下

public class LeftCommand implements Command {

@Override

public void excute() {

...

}

}


public class RightCommand implements Command {

@Override

public void excute() {

...

}

}


看了上面的具体实现类,你有没有这样一个想法:可不可以为 左,右两个命令写个实现具体的逻辑实现类呢?如下

public class DirectionController{

public void toLeft() {...}

public void toRight() {...}

}

当然了,RightCommand, LeftCommand中要持有DirectionController的引用   如下

public class RightCommand implements Command {

private DirectionController directionController;

public RightCommand(DirectionController directionController) {

this.directionController = directionController;

}

...

}



我们接着会写一个请求类,请求各种具体命令。请求这类   如下

public Request {

private RightCommand rightCommand;

private LeftCommand leftCommand;

//提供set方法,注入具体实现

...

//提供调用向左,向右方法   方法的实现就是调用你注入的具体的command命令

...

}


ok,就这样




0 0
原创粉丝点击