外观模式,类似于代理模式,但是感觉是代理模式的多重组合形态。
通过外观类的内部的组合对象,进行方法重叠调用
适合整合较为复杂的功能,避免重复代码
首先写内部组合子类
public class SubSystemOne { public void MethodOne(){ System.out.println("这是系统方法1"); } } public class SubSystemTwo { public void MethodOne(){ System.out.println("这是系统方法2"); } } public class SubSystemThree { public void MethodOne(){ System.out.println("这是系统方法3"); } }
外观类
public class Facede { SubSystemOne s1; SubSystemTwo s2; SubSystemThree s3; Facede(){ s1=new SubSystemOne(); s2=new SubSystemTwo(); s3=new SubSystemThree(); } public void f1(){ s1.MethodOne(); s2.MethodOne(); } public void f2(){ s2.MethodOne(); s3.MethodOne(); } public void f3(){ s3.MethodOne(); s1.MethodOne(); } public static void main(String[] args) { Facede f=new Facede(); f.f2(); } }