您的位置:首页 > 其它

设计模式(7)外观模式

2019-01-25 11:23 43 查看

定义:为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用。

场景:

有两个子系统,子系统A,有多个内部模块,模块A、模块B和模块C。系统B,现在有一个功能,需要同时依赖3个模块来实现一个功能。

public class FacadePatternDemo {

public static void main(String[] args) {
SystemFacade facade = new SystemFacade();
facade.execute();
}

public static class SystemFacade {
public void execute() {
ModuleA moduleA = new ModuleA();
ModuleB moduleB = new ModuleB();
ModuleC moduleC = new ModuleC();

moduleA.execute();
moduleB.execute();
moduleC.execute();
System.out.println("新增的一段逻辑");
}
}

public static class ModuleA {
public void execute() {
System.out.println("子系统1的模块A的功能");
}
}

public static class ModuleB {
public void execute() {
System.out.println("子系统1的模块B的功能");
}
}

public static class ModuleC {
public void execute() {
System.out.println("子系统1的模块C的功能");
}
}

}

使用场景:

如果一个子系统里有多个DAO组件,然后如果别的子系统要实现一段业务逻辑,需要使用这个子系统的多个DAO组件,那就会导致别的子系统代码会很乱,需要care这个子系统很多DAO组件的实现。但是这个组件可以基于多个DAO组件封装出来一个service接口,然后别的系统就针对一个service接口开发即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: