2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
コマンドモードは、リクエストを、リクエストに関連するすべての情報を含む別個のオブジェクトに変換する動作設計パターンです。 この変換により、さまざまなリクエストに基づいてメソッドをパラメータ化し、リクエストを遅延またはキューに入れたり、取り消し可能な操作を実装したりすることができます。
コマンドモードの共通コード:
//抽象接收者
public abstract class Receiver{
public abstract void operation();
}
//具体接收者
public class Recevier1 extends Recevier{
public void operation(){
...
}
}
//通用命令接口
public interface Command{
void execute();
}
//具体命令类
public class ConcreteCommand1 implements Command{
private Receiver receiver;
public ConcreteCommand1(Receiver _receiver){
this.receiver = _receiver;
}
public void execute(){
this.receiver.operation();
}
}
//调用者类
public class Invoker{
private Command command;
public void setCommand(Command _command){
this.command = _command;
}
public void executeCommand(){
this.command.execute();
}
}
//主程序类
public class Client{
public static void main(String[] args){
//调用者
Invoker invoker = new Invoker();
//接收者
Receiver receiver1 = new Receiver1();
//定义一个命令
Command command = new ConcreteCommand1(receiver1);
invoker.setCommand(command);
invoker.executeCommand();
}
}