为了把命令模式讲清楚,我要举一个大家都影象深刻的例子以便大家的理解,那就借用的足球的例子吧。
作者:中国IT实验室 来源:中国IT实验室 2007年8月26日
关键字: java 命令模式
JAVA的设计模式我想大家都知道,但每个人的理解并不相同,我在这里只是阐述我的观点,要是与您的观点不同请您原谅和提出您的宝贵意见。
为了把命令模式讲清楚,我要举一个大家都影象深刻的例子以便大家的理解,那就借用的足球的例子吧。
UML略
我设计了五个类,分别是:球队老板,老板的命令(接口),教练,命令的内容,球员。
球员的示例代码
public class 球员 {
public void run() {
球场上奔跑;
}
public void Norun() {
球场上不奔跑;
}
public void shot() {
射门;
}
public void Noshot() {
不射门;
}
public void hoo() {
积极比赛;
}
}
教练类的示例代码
public class 命令的内容 implements 老板的命令 {
球员 team;
public 命令的内容 ( 球员 ateam) {
this.team = ateam;
}
//赢球的方法
public void victory() {
team.hoo();
team.run();
team.shot();
}
//输球的方法
public void fail() {
team.Norun();
team.Noshot();
}
}
老板的命令类的示例代码
public interface 老板的命令 {
void victory();
void fail();
}
教练的示例代码
public class 教练 {
private 老板的命令 bossCommand;
public 教练(老板的命令 abossCommand) {
this.bossCommand = abossCommand;
}
}
老板的示例代码
public class 老板 {
public static void main(String[] args) {
球员 team = new 球员();
老板的命令 bossCommand = new 命令的内容(team);
教练 drillmaster = new 教练(bossCommand);
drillmaster.victory();//赢球
drillmaster.fail();//输球
}
}