您的位置:首页 > 编程语言 > Go语言

GOF23的一些总结(十六)

2017-01-07 15:06 369 查看
命令模式:将一个请求封装为一个对象,从而使我们可以用不同的请求对客户进行参数化。对请求排队或者请求记录日志。以及支持可撤销的操作。也称之为动作Action模式。事务transaction模式。



命令执行者

package com.dasenlin.cn;
/**
* 接受者
* @author Administrator
*
*/
public class Receiver {

public void action(){
System.out.println("Receiver.action()");
}

}


需要实现的命令方法

package com.dasenlin.cn;

public interface Command {
/**
* 一个执行命令的方法
*/
void execute();
}

class ConcreteCommond implements Command{

private Receiver receiver;

public ConcreteCommond(Receiver receiver) {
super();
this.receiver = receiver;
}

@Override
public void execute() {
System.out.println("搞起处理!");
receiver.action();
}

}


命令的发布者

package com.dasenlin.cn;

public class Invoke {

private Command command;

public Invoke(Command command) {
super();
this.command = command;
}
//业务方法,调用命令类的方法
public void call(){
command.execute();
}

}


测试

package com.dasenlin.cn;

public class Client {

public static void main(String[] args) {

Command comm =new ConcreteCommond(new Receiver());

Invoke in =new Invoke(comm);

in.call();

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构 对象