定义
为子系统中的一组接口提供一个高层接口,这个高层接口使得这一子系统更加容易使用,这样就降低了客户程序与具体子系统之间的耦合度。
代码解释
外观模式主要是一个Facade类。
//子系统A
public class SubA
{
public void MethodA()
{
System.out.println("子系统方法A被执行!")
}
}
//子系统B
public class SubB
{
public void MethodB()
{
System.out.println("子系统方法B被执行!")
}
}
//外观类
public class Facade
{
private SubA subA;
private SubB subB;
public Facade()
{
subA=new SubA();
subB=new SubB();
}
public void Method()
{
subA.MethodA();
subB.MethodB();
}
}
如果不使用外观模式,那么客户端代码为:
public static void main(String[] args)
{
SubA subA=new SubA();
SubB subB=new SubB();
subA.MethodA();
subB.MethodB();
}
使用外观模式,客户端代码为:
public static void main(String[] args)
{
Facade facade=new Facade();
facade.Method();
}