外观模式(Facade Pattern)

外观模式(Facade Pattern) ,为子系统中的一组接口提供一个一致的页面,此模式定义一个高层接口,这个接口使这一子系统更加容易使用。

  简单说,就是用一个外观类引用其他对象,在外观类的方法中调用多个其他对象的方法。

 

外观模式使用起来简单,平时写代码中,也许已经使用过这个模式写代码。下面看代码。

1,新建三个类,各有一个方法。

public class SubSystemOne {
    public void methodOne(){
        System.out.println("MethodOne");
    }
}
public class SubSystemTwo {
    public void methodTwo(){
        System.out.println("MethodTwo");
    }
}
public class SubSystemThree {
    public void methodThree(){
        System.out.println("MethodThree");
    }
}

 2,新建一个外观类,包含上面三个类对象,对外提供组合方法

public class Facade {
    SubSystemOne one;
    SubSystemTwo two;
    SubSystemThree three;

    public Facade() {
        one = new SubSystemOne();
        two = new SubSystemTwo();
        three = new SubSystemThree();
    }

    public void MethodA(){  //方法组1
        one.methodOne();
        two.methodTwo();
    }

    public void MethodB(){  //方法组2
        two.methodTwo();
        three.methodThree();
    }
}

 

3,调用外观对象方法

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

 

 

一般什么时候使用外观类?

  现在流行的三层架构,业务层(service)可能会引用多个持久层(dao层)的对象,以便获得数据处理业务逻辑。controller层直接调用service层就可以了,而不需要直接和多个持久层进行交互。

转载于:https://www.cnblogs.com/handler4J/p/10144146.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值