美文网首页
外观模式-facade

外观模式-facade

作者: HeJD | 来源:发表于2018-04-19 15:33 被阅读0次

    为子系统中的一组接口提供一个一致的界面,facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

    这里写图片描述
    通过一个代理,把所有对象都收集起来,暴露某些函数给client,使得client可以使用被封装起来的对象

    代码

    Main

    public class Main {
    
        public static void main(String[] args) {
            Facade facade=new Facade(new SubSystemA(),new SubSystemB(),new SubSystemC());
            
            facade.methodA();
            facade.methodB();
        }
    
    }
    
    

    Facade

    public class Facade {
        private SubSystemA A;
        private SubSystemB B;
        private SubSystemC C;
        
        public Facade(SubSystemA a, SubSystemB b, SubSystemC c) {
            A = a;
            B = b;
            C = c;
        }
    
        public void methodA(){
            System.out.println("begin facade-methodA");
            this.A.methodA();
            this.C.methodC();
            System.out.println("end facade-methodA");
        }
        
        public void methodB(){
            System.out.println("begin facade-methodB");
            this.B.methodB();
            this.C.methodC();
            System.out.println("end facade-methodB");
        }
    
    }
    

    SubSystemA

    public class SubSystemA {
    
        public void methodA(){
            System.out.println("A 的方法");
        }
    }
    

    SubSystemB

    public class SubSystemB {
    
        public void methodB(){
            System.out.println("B 的方法");
        }
    }
    

    SubSystemC

    public class SubSystemC {
    
        public void methodC(){
            System.out.println("C 的方法");
        }
    }
    

    相关文章

      网友评论

          本文标题:外观模式-facade

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