JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > デザインパターン > Facadeパターン  
メニュー
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  田中宏和
Facadeパターン
◆概要
サブシステムの複数のインターフェースに1つの統一されたインタフェースを与える。Facadeパターンはサブシステムの利用を用意にするための高レベルのインターフェースを定義する
◆UML
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆概念的なソースコード
SubsystemA.java(ここからダウンロード)
public class SubsystemA {
  public void methodA() {
    System.out.println("SubsystemA methodA()メソッド");
  }
}
SubsystemB.java(ここからダウンロード)
public class SubsystemB {
  public void methodB() {
    System.out.println("SubsystemB methodB()メソッド");
  }
}
SubsystemC.java(ここからダウンロード)
public class SubsystemC {
  public void methodC() {
    System.out.println("SubsystemC methodC()メソッド");
  }
}
Facade.java(ここからダウンロード)
public class Facade {
  SubsystemA a;
  SubsystemB b;
  SubsystemC c;

  public Facade() {
    a = new SubsystemA();
    b = new SubsystemB();
    c = new SubsystemC();
  }

  public void operation1() {
    System.out.println("Facade operation1()メソッド");
    a.methodA();
    b.methodB();
    c.methodC();
  }

  public void operation2() {
    System.out.println("Facade operation2()メソッド");
    b.methodB();
    c.methodC();
  }

  public void operation3() {
    System.out.println("Facade operation3()メソッド");
    c.methodC();
  }
}
Client.java(ここからダウンロード)
public class Client {
  public static void main(String[] args) {
    Facade f = new Facade();
    f.operation1();
    f.operation2();
    f.operation3();
  }
}
 
◆実行
コマンドプロンプト
C:\JavaHello\Facade>javac *.java

C:\JavaHello\Facade>java Client
Facade operation1()メソッド
SubsystemA methodA()メソッド
SubsystemB methodB()メソッド
SubsystemC methodC()メソッド
Facade operation2()メソッド
SubsystemB methodB()メソッド
SubsystemC methodC()メソッド
Facade operation3()メソッド
SubsystemC methodC()メソッド

C:\JavaHello\Facade>

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

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