FacadePattern(门面模式)
/** * 外观模式(门面模式) * @author TMAC-J * 外观模式是通过访问一个前台来实现对子系统的访问,其和代理模式的区别是 * 代理模式是通过代理一个类的形式,也就是说一对一的关系 * 而外观模式是通过访问一个前台来对子系统(多个类)的访问,一对多 * 以下的例子中A、B、C都是子系统中的类 */ public class FacadePattern { public class A{ public void doSomething(){ System.out.println("A->doSomething"); } } public class B{ public void doSomething(){ System.out.println("B->doSomething"); } } public class C{ public void doSomething(){ System.out.println("C->doSomething"); } } /** * 这里通过反射的方式,读者可以用new的方式 * @author voole * */ public class Facade{ public void doSomething() throws InstantiationException, IllegalAccessException{ A.class.newInstance().doSomething(); B.class.newInstance().doSomething(); C.class.newInstance().doSomething(); } } public void test() throws InstantiationException, IllegalAccessException{ Facade.class.newInstance().doSomething();//通过门面将子系统和访问者隔离,降低耦合 } }