外观:
一般用在子系统中与访问之间,用于对访问屏蔽复杂的子系统调用,采用外观类提供的简单调用方法,具体的实现由外观类去子系统调用。
外观模式类似中间件,使用外观模式之后子系统的方法调用并非完全屏蔽,只是为访问者提供了yizhogn最佳的访问方式,如果你不嫌麻烦,可以直接进行子系统方法调用
场景:
当我们访问的子系统拥有复杂的结构,内部调用繁杂,接触中无法下手时,设计一个外观类来提供访问,同一路径(集中到外观类中),将繁杂的调用结合起来形成一个总调用写到外观类中,直接在外观类中找对应的方法进行调用。
/*** 子系统*/public class SubMethod1 {public void method1() {System.out.println("子系统方法1");}}
/*** 子系统2*/public class SubMethod2 {public void method2() {System.out.println("子系统2");}}
/*** 外观类*/public class Facader {private SubMethod1 sm1 = new SubMethod1();private SubMethod2 sm2 = new SubMethod2();public void facMethod1() {sm1.method1();sm2.method2();}public void facMethod2() {sm2.method2();sm1.method1();}}
public class Clienter {public static void main(String[] args) {Facader facader = new Facader();facader.facMethod1();}}//子系统方法1//子系统2
