JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > デザインパターン > Commandパターン  
メニュー
Home
情報交換掲示板
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Chain Of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
  2003/07/25  田中宏和
Commandパターン
◆概要
要求をオブジェクトとしてカプセル化することによって、様々な要求または要求からなるキューやログによりクライアントをパラメータ化する。そして、取り消し可能な操作をサポートする
◆UML
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆概念的なソースコード
Command.java(ここからダウンロード)
abstract class Command {
  protected Receiver receiver;

  public Command(Receiver receiver) {
    this.receiver = receiver;
  }

  abstract public void execute();
}
ConcreteCommand.java(ここからダウンロード)
public class ConcreteCommand extends Command {
  public ConcreteCommand(Receiver receiver) {
    super(receiver);
  }
  public void execute() {
    receiver.action();
  }
}
Receiver.java(ここからダウンロード)
public class Receiver {
  public void action() {
    System.out.println("Receiver action()メソッド");
  }
}
Invoker.java(ここからダウンロード)
public class Invoker {
  private Command command;

  public void setCommand(Command command) {
    this.command = command;
  }

  public void executeCommand() {
    command.execute();
  }
}
Client.java(ここからダウンロード)
public class Client {
  public static void main(String[] args) {
    Receiver r = new Receiver();
    Command c = new ConcreteCommand(r);
    Invoker i = new Invoker();

    i.setCommand(c);
    i.executeCommand();
  }
}
 
◆実行
コマンドプロンプト
C:\JavaHello\Command>javac *.java

C:\JavaHello\Command>java Client
Receiver action()メソッド

C:\JavaHello\Command>

おおおお!実行できましたね!

 
 
  ネットで買えば断然お得!お買い物なら楽天市場
ツールの部屋 - Java関連の書籍 - デザインパターン - 情報交換掲示板 - HOME