Proxy パターン
MyMain
public class MyMain {
public static void main(String args[]) {
MyClass classA = new MyProxy(args[0]);
System.out.println(classA.getName());
}
}
MyClass
public interface MyClass {
public String getName();
}
MyClassA
public class MyClassA implements MyClass {
public String getName() {
return "Suzuki";
}
}
MyProxy
public class MyProxy implements MyClass {
private MyClass classA;
public MyProxy(String isReal) {
if (isReal.equals("1"))
classA = new MyClassA();
}
public String getName() {
if (classA == null)
return "dummy";
return classA.getName();
}
}
実行結果
L:\>java MyMain 0
dummy
L:\>java MyMain 1
Suzuki