门面模式(Facade Pattern)属于结构型模式。门面模式又叫作外观模式,通过给多个复杂的子系统提供一个门面(高层接口),使这些子系统更加容易的被访问,客户端与门面直接通信,封装/隐藏背后子系统的细节与复杂度
未使用门面模式
使用门面模式
业务代码
class Facade { private SubSystem1 subSystem1 = new SubSystem1(); private SubSystem2 subSystem2 = new SubSystem2(); private SubSystem3 subSystem3 = new SubSystem3(); public void doSomething(){ subSystem1.operation1(); subSystem2.operation2(); subSystem3.operation3(); } } class SubSystem1 { void operation1(){} } class SubSystem2 { void operation2(){} } class SubSystem3 { void operation3(){} }
客户端
public class Client { private static Facade facade = new Facade(); public static void main(String[] args) { facade.doSomething(); } }
1.继承第三方系统
2.组件对外提供API
3.分层架构层之间调用
优点
缺点
org.apache.catalina.connector.RequestFacade