菜鸟硕枫设计模式系列之11 外观模式
外观模式,一种封装底层实现的模式。使得调用者不用关心谁去具体的完成功能操作,解耦了请求者与操作者,封装了细节。外观模式也是一种结构型设计模式。
外观模式类图:

具体demo:
Facade接口:
package facadePattern;public interface Facade {void doA();void doB();}具体实现:
package facadePattern;public class FacadeImpl implements Facade{private A a;private B b;public void setA(A a) {this.a = a;}public void setB(B b) {this.b = b;}@Overridepublic void doA() {a.doA();}@Overridepublic void doB() {b.doB();}}A接口:
package facadePattern;public interface A {void doA();}A实现:
package facadePattern;public class AImpl implements A{@Overridepublic void doA() {System.out.println("hello from taobao");}}B接口:
package facadePattern;public interface B {void doB();}B实现:
package facadePattern;public class BImpl implements B{@Overridepublic void doB() {System.out.println("doB,hello from taobao");}}测试类:
package facadePattern;public class FacadeTest {public static void main(String[]args){A a = new AImpl();B b = new BImpl();FacadeImpl facade = new FacadeImpl();facade.setA(a);facade.setB(b);facade.doA();facade.doB();}}说明 :说到解耦,在我的理解上,外观模式是封装作用最明显的一个设计模式,使得调用者完全不用关心底层实现由谁去完成。