java设计模式—外观模式
一.概述
外观模式是指将各模块的访问接口集成到一个外观类中,外观类隐藏了各模块的逻辑业务,使访问更加简单,也使得各模块更加独立。
二.应用场景
1、将复杂的业务分解为多个子模块, 降低开发难度。
2、使模块自己更加独立,耦合更低。
三.模式示例:
假设我们系统需要调用京东和淘宝开放平台的API获取卖家销量。可按以下步骤实现:
1.设计获取淘宝的销量类
public class Taobao {
public int getSales(){
return 10;
}
}
2.设计获取京东的销量类
public class Jingdong {
public int getSales(){
return 20;
}
}
3.设计外观类:外观类的作用就是集成将个子模块的方法,以达到调用简单的目的。
public class Facade {
/**
* 获取总销量
*/
public int getSalesTotal(){
int totalSale = getTaobaoSales() + getJingdongSales();
return totalSale;
}
/**
* 获取淘宝销量
*/
public int getTaobaoSales(){
Taobao taobao = new Taobao();
return taobao.getSales();
}
/**
* 获取京东销量
*/
public int getJingdongSales(){
Jingdong jd = new Jingdong();
return jd.getSales();
}
}
4.这样我们就可以只需调用Facade类中的函数,而不必去关系其子模块的实现。
public class Test {
public static void main(String args[]){
Facade face = new Facade();
System.out.println(face.getSalesTotal());
System.out.println(face.getTaobaoSales());
System.out.println(face.getJingdongSales());
}
}