考虑一个OriginalClass在运行时可能可用或不可用的类。OriginalClass有一个方法doSomething,如果它的类可用,则应该执行该方法。
解决这个问题的一种方法是创建一个类,该类也有一个doSomething调用OriginalClass.doSomethingusing 反射的方法。像这样的东西:
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,但我不确定是哪个。