OriginalClass
実行時に使用できる場合とできない場合があるクラスを考えてみましょう。クラスが利用可能な場合に実行する必要がOriginalClass
あるメソッドがあります。doSomething
これを解決する方法は、 using リフレクションdoSomething
を呼び出すメソッドも持つクラスを作成することです。OriginalClass.doSomething
このようなもの:
public class CompatibilityClass {
private static Method originalClass_doSomething = null;
static {
initCompatibility();
};
private static void initCompatibility() {
try {
originalClass_doSomething = Class.forName("originalClass").getMethod("doSomething", new Class[] {});
} catch (NoSuchMethodException nsme) {
} catch (SecurityException se) {
} catch (ClassNotFoundException cnfe) {}
}
public static void doSomething() {
if (originalClass_doSomething != null) {
try {
originalClass_doSomething.invoke(null, new Object[]{});
} catch (Exception e) {}
}
}
}
ここで適用されたデザイン パターンの名前は何ですか? Adapter、Bridge、Facade、またはProxyのいずれかだと思いますが、どれかわかりません。