面向对象的设计模式 ——外观模式

博客介绍了外观模式,即由一个类作为界面,使用子系统类需通过界面类方法,且无继承实现关系。其好处是无需研究众多子系统类,只需明白界面类。还以买基金类比,并提到经典三层架构不同层间应有Facade管理子类。

外观模式:由一个类作为界面,要使用所有的子系统类都需要通过界面类的方法,而他们是没有继承实现关系的。

好处就是不用研究种类繁多的子系统类,只要看明白这个界面的类就可以了。

就好像自己买股票变成买基金一样,你只要研究一个基金就可以了,这个基金会去投资各个股票

经典的三层架构不同层之间都应该要有一个Facade来管理繁杂的子类


 

class SubSystemOne{
    public void MethodOne(){
        System.out.println("子系统方法一");
    }
}

class SubSystemTwo{
    public void MethodTwo(){
        System.out.println("子系统方法二");
    }
}

class SubSystemThree{
    public void MethodThree(){
        System.out.println("子系统方法三");
    }
}

class SubSystemFour{
    public void MethodFour(){
        System.out.println("子系统方法四");
    }
}
class Facade{
    SubSystemOne one;
    SubSystemTwo two;
    SubSystemThree three;
    SubSystemFour four;
    
    public Facade(){
        one = new SubSystemOne();
        two = new SubSystemTwo();
        three = new SubSystemThree();
        four = new SubSystemFour();
    }

    public void MethodA(){
        System.out.println("\n 方法组A");
        one.MethodOne();
        two.MethodOne();
        four.MethodFour();
    }   
    
    public void MethodB(){
        System.out.println("\n 方法组B");
        two.MethodTwo();
        three.MethodThree();

    }
}
class test{
    public static void main(String args[]){
        Facade facade = new Facade();
        
        facade.MethodA();
        facede.MethodB();  
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值