美文网首页
外观模式【门面模式】(结构型)

外观模式【门面模式】(结构型)

作者: 游牧族人 | 来源:发表于2018-09-08 19:39 被阅读6次

    定义:
    定义了一个高层、统一的接口,他隐藏了系统的复杂性,外部与通过这个统一的接口对子系统中的一群接口进行访问。
    客户端通过一个外观类的接口来对系统中的部件进行组合调用,从而隐藏整个系统功能具体实现流程。当我们进行修改的时候只需要修改子系统类,调整外观类即可。
    两个角色
    外观角色:外观角色包含着一个或多个子系统功能,并将这些功能封装起来只对外部提供一个接口。
    子系统角色:可以有一个或多个,包含着不同的处理方式。

    // 三种子系统角色
    public class SystemA
    {
        public void func(){
            System.out.println("系统 A 开始工作");
        }
    }
    public class SystemB
    {
        public void func(){
            System.out.println("系统 B 开始工作");
        }
    }
    public class SystemC
    {
        public void func(){
            System.out.println("系统 C 开始工作");
        }
    }
    ----------------------------------------------------------------------------------
    // 外观角色
    public class Facade
    {
        private SystemA systemA;
        private SystemB systemB;
        private SystemC systemC;
    
        public Facade(){
            systemA = new SystemA();
            systemB = new SystemB();
            systemC = new SystemC();
        }
    
        public void func(){
            systemA.func();
            systemB.func();
            systemC.func();
        }
    }
    
    // 客户端
    public class Client
    {
        public static void main(String[] args){
            Facade facade = new Facade();
            facade.func();
        }
    }
    Output:
    系统 A 开始工作
    系统 B 开始工作
    系统 C 开始工作
    

    相关文章

      网友评论

          本文标题:外观模式【门面模式】(结构型)

          本文链接:https://www.haomeiwen.com/subject/pvclgftx.html