Javaのファサード(Facade)のサンプルです。
目次
シングルトン | ファサードとは |
ファサードのサンプル |
ファサード(Facade)とは
- ファサードは、窓口や取りまとめ役というようなイメージです。
- 呼び出し元は、ファサードを呼び、ファサードが個別の処理を行います。
→ファサードを介すことで呼び出し元側のコードはわかりやすくシンプルになります。 - JavaのログのライブラリであるSLF4jは、ファサードライブラリです。
- GOFによって定義されたデザインパターンの1つです。
- ファサード(Facade)は、建物の正面部分という意味です。
- 以下は、WikipediaのFacadeパターンのリンクです。
https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
ファサードのサンプル
ファサードのサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
TestFacade tf = new TestFacade();
tf.test1();
}
}
class TestFacade {
void test1() {
GetColor1 GC1 = new GetColor1();
GetColor2 GC2 = new GetColor2();
GetColor3 GC3 = new GetColor3();
System.out.println(
GC1.getColor() + GC2.getColor() + GC3.getColor());
}
}
class GetColor1 {
String getColor() {
return "red";
}
}
class GetColor2 {
String getColor() {
return "yellow";
}
}
class GetColor3 {
String getColor() {
return "blue";
}
}
3~8行目は、呼び出し側のクラスです。
9~17行目は、ファサードのクラスです。個別のクラスをインスタンス化し処理を行います。
呼び出し元側のクラスはファサードのクラスのメソッドを実行するだけで個別の処理が実行されます。
18行目以降は、個別の処理のクラスです。
関連の記事