设计模式(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接口开发即可。
相关文章推荐
- 设计模式 - 外观模式
- [设计模式]外观模式
- Java设计模式笔记之外观模式
- java结构型设计模式——外观模式
- 23种设计模式之适配(Adapter)模式与外观模式
- 设计模式 - 外观模式
- 设计模式知识连载(19)---外观模式:
- 深入浅出设计模式-008:外观模式(Facade Pattern)
- 设计模式之---外观模式
- 设计模式——外观模式
- 设计模式学习笔记(一)--Facade外观模式
- 如何让孩子爱上设计模式 ——11.外观模式(Facade Pattern)
- C++设计模式之外观模式(二)
- Java设计模式 结构模式-外观模式(Facade)
- 【设计模式】外观模式
- 设计模式之外观模式Facade(结构型)
- Java设计模式之外观模式(Facade模式)介绍
- Java设计模式之外观模式
- GOF23设计模式——外观模式(门面模式)
- 设计模式之适配器模式和外观模式adapter and facade