门面模式

门面模式:建立一个统一的对象对来提供子系统外部和内部的通讯方式,子系统外部只能通过此对象对子系统内部进行访问

优点:细节隐藏,高层调用不用关心底层实现,避免产生高度的耦合关系

 

标准类图:


门面模式
 子系统中的类:

public class Class1 {
	
	public void foo4(){
		System.out.println("foo4");
	}
	
	public void foo5(){
		System.out.println("foo5");
	}
	
	public void foo6(){
		System.out.println("foo6");
	}
	
}

 

public class Class2 {
	
	public void foo1(){
		System.out.println("foo1");
	}
	
	public void foo2(){
		System.out.println("foo2");
	}
	
	public void foo3(){
		System.out.println("foo3");
	}
	
}

 抽象外观:

public interface Facade {

	void facadeMethod1();
	
	void facadeMethod2();
	
}

 具体外观:

public class ConcreteFacade implements Facade{
	
	private Class1 class1 = new Class1();
	private Class2 class2 = new Class2();
	

	public ConcreteFacade(Class1 class1, Class2 class2) {
		super();
		this.class1 = class1;
		this.class2 = class2;
	}

	@Override
	public void facadeMethod1() {
		class1.foo4();
		class2.foo1();
		class1.foo5();
	}

	@Override
	public void facadeMethod2() {
		class2.foo2();
		class2.foo3();
		class1.foo6();
	}

}

 

你可能感兴趣的:(门面模式)