【发布时间】:2011-01-29 17:16:53
【问题描述】:
假设你有如下命令:
public class PublishLastFiveCommand implements Command {
private Producer p;
public PublishLastFiveCommand(Producer p) {
this.p = p;
}
public void execute() {\
p.publishLastFive();
}
}
另外生产者允许您
public void publishLastFive() {
System.out.println("publishing last 5");
}
Command c;
public void setCommand(Command c) {
this.c = c;
}
public void execute() {
c.execute();
}
问题:
预期用途是:
Command publish5 = new PublishLastFiveCommand(p);
p.setCommand(publish5);
p.execute();
我有什么优雅的方法可以防止:
p.publishLastFive()
被直接调用?
【问题讨论】:
标签: java command design-patterns