用于将对复杂某系统的访问统一化, 避免客户端过多的干涉某系统及其子系统。
package designpattern.structure.facade;public class Facade { Subsystemclass1 s1 = new Subsystemclass1(); Subsystemclass2 s2 = new Subsystemclass2(); Subsystemclass3 s3 = new Subsystemclass3(); public void method1() { s1.methodx(); s2.methody(); } public void method2() { s1.methodx(); s3.methodz(); } public void method3() { s2.methody(); s3.methodz(); } }package designpattern.structure.facade;public class Subsystemclass1 { public void methodx() { System.out.println("Subsystemclass1.methodx()"); }}package designpattern.structure.facade;public class Subsystemclass2 { public void methody() { System.out.println("Subsystemclass1.methody()"); }}package designpattern.structure.facade;public class Subsystemclass3 { public void methodz() { System.out.println("Subsystemclass2.methodz()"); }}package designpattern.structure.facade;/** * * 客户端只需要一个facade类的引用即可,将子系统的工作交给facade处理 * , 从而不用直接和子系统的各种类打交道。 * * 避免了客户端的复杂性 * */public class Client { /** * @param args */ public static void main(String[] args) { Facade f = new Facade(); f.method1(); f.method2(); f.method3(); }}
其实是一个很常见的模式
posted on 2014-08-17 00:48 阅读( ...) 评论( ...)