一 定义
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。
二 案例
一个子系统中拥有3个模块,每个模块中都有3个方法,其中一个为客户端调用方法,其他两个则为各子模块间互相调用方法。此时有如下需求,客户端为完成功能,需要组合3个模块中的方法才能实现功能。
三 未使用模式情况
/**
* @Description A模块
* @author jerry
* @date 2016年4月11日下午2:16:04
*/
public interface AModuleApi {
public void a1(); //此方法主要用于外部调用
public void a2(); //以下两方法主要用于子系统内部间调用
public void a3();
}
/**
* @Description A模块实现
* @author jerry
* @date 2016年4月11日下午2:17:10
*/
public class AModuleImpl implements AModuleApi {
@Override
public void a1() {
System.out.println("调用了A模块");
}
@Override
public void a2() {
//TODO 主要用于子模块间互相调用
}
@Override
public void a3() {
//TODO 主要用于子模块间互相调用
}
}
/**
* @Description B模块
* @author jerry
* @date 2016年4月11日下午2:16:12
*/
public interface BModuleApi {
public void b1(); //此方法主要用于外部调用
public void b2(); //以下两方法主要用于