网站设计方案范文,南宁网站建设找哪家公司,商业网站建设与维护方案书,网站建设秋实首先来一个命令的接口#xff1a; package mode.command;/*** * 定义一个命令接口#xff0c;其中有一个抽象的执行方法#xff0c;参数人命令接收器* * */
public interface Command {public void execute(CommandReceiver commandReceiver);
}定义一个命令接受者的接口 package mode.command;/*** * 定义一个命令接口其中有一个抽象的执行方法参数人命令接收器* * */
public interface Command {public void execute(CommandReceiver commandReceiver);
}定义一个命令接受者的接口 package mode.command;/*** * 命令接收类包涵要执行的各种动作* * * */
public interface CommandReceiver {public void doSometingA();public void doSomethingB();
}两个Command接口的实现类 package mode.command;public class CommandA implements Command {Overridepublic void execute(CommandReceiver commandReceiver) {commandReceiver.doSometingA();}}
package mode.command;public class CommandB implements Command {Overridepublic void execute(CommandReceiver commandReceiver) {commandReceiver.doSomethingB();}}定义一个命令接收者的实现类这里使用单例模式来设计这个类 package mode.command;public class CommandReceiverImplSingliton implements CommandReceiver {private static CommandReceiverImplSingliton commandReceiverImplSingliton;public static CommandReceiverImplSingliton getCommandSingliton() {if (null commandReceiverImplSingliton) {commandReceiverImplSingliton new CommandReceiverImplSingliton();return commandReceiverImplSingliton;} else {return commandReceiverImplSingliton;}}Overridepublic void doSometingA() {System.out.println(dodoododododododoodoAAAAA);}Overridepublic void doSomethingB() {System.out.println(dododoodododoodododoBBBBB);}
}
创建命令执行器 package mode.command;public class CommandExecutor {public void execute(Command command) {command.execute(CommandReceiverImplSingliton.getCommandSingliton());}
}
用client类来测试 package mode.command;public class Client {public static void main(String[] args) {Command commandA new CommandA();Command commandB new CommandB();CommandExecutor executor new CommandExecutor();executor.execute(commandA);executor.execute(commandB); }
}转载于:https://www.cnblogs.com/qzmpc/p/6339576.html