小A:“命令模式怎樣去實現它?”
大B:“命令模式裡邊一般都有以下幾個角色:客戶端,請求者,命令接口,命令實現,接受者。下邊是簡單命令模式的實現代碼實現。”
publicclassClient{
publicstaticvoidmain(String[]args){
Receiverreceiver=newReceiver();
CommandmandOne=newConcreteCommandOne(receiver);
CommandmandTwo=newConcreteCommandTwo(receiver);
Invokerinvoker=newInvoker(mandOne,mandTwo);
invoker.actionOne();
invoker.actionTwo();
}
}
publicclassInvoker
{
privateCommandmandOne;
privateCommandmandTwo;
publicInvoker(CommandmandOne,CommandmandTwo){
this.orgmandOne=mandOne;
this.orgmandTwo=mandTwo;
}
publicvoidactionOne(){
mandOne.execute();
}
publicvoidactionTwo(){
mandTwo.execute();
}
}
publicinterfaceCommand{
voidexecute();
}
publicclassConcreteCommandOneimplementsCommand{
privateReceiverreceiver
publicConcreteCommandOne(Receiverreceiver){
this.receiver=receiver;
}
publicvoidexecute(){
receiver.actionOne();
}
}
publicclassConcreteCommandTwoimplementsCommand{
privateReceiverreceiver
publicConcreteCommandTwo(Receiverreceiver){
this.receiver=receiver;
}
publicvoidexecute(){
receiver.actionTwo();
}
}
publicclassReceiver{
publicReceiver(){
//
}
publicvoidactionOne(){
System.out.println(“ActionOnehasbeentaken.”);
}
publicvoidactionTwo(){
System.out.println(“ActionTwohasbeentaken.”);
}
}