门面模式(Facade Pattern )
2017-12-26 00:04
274 查看
定义
要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。代码实现
子系统:public class ClassA { public void doSomethingA() { } } public class ClassB { public void doSomethingB() { } }
门面:
public class Facade { private ClassA classA = new ClassA(); private ClassB classB = new ClassB(); //委托方法 public void methodA() { this.classA.doSomethingA(); } //委托方法 public void methodB() { this.classB.doSomethingB(); } }
优点
减少系统的相互依赖,松耦合提高灵活性
提高安全性
缺点
不符合开闭原则,对修改关闭,对扩展开放。适用场景
为一个复杂的模块或者子系统提供一个供外界访问的接口注意事项
一个子系统可以有多个门面门面不参与子系统内的业务逻辑
实践
参考日志模块slf4j, log4j, logback的实现,他就是采用了门面模式。https://my.oschina.net/alvinlkk/blog/1595147
相关文章推荐
- 外观模式(Facade Pattern)或门面模式
- 设计模式7 - 门面模式【Facade Pattern】
- 设计模式——门面模式【Facade Pattern】
- 第7章 门面模式【Facade Pattern】---- 设计模式之禅读书笔记
- 门面模式(Facade Pattern 外观模式)
- Java设计模式--门面模式【Facade Pattern】
- 设计模式之(五)----门面模式【Facade Pattern】
- 门面模式(Facade Pattern)
- 门面设计模式(Facade Pattern)
- Design Pattern Facade 门面设计模式
- 第 7 章 门面模式【Facade Pattern】
- 门面模式(Facade Pattern)
- 门面模式(facade pattern)
- 设计模式第十课 门面模式Facade Pattern
- 门面模式 Facade Pattern
- 24种设计模式--门面模式【Facade Pattern】
- Java设计模式——门面(外观)模式(Facade Pattern)
- 门面模式(Facade Pattern)
- 门面模式【Facade Pattern 】
- 您的设计模式——门面模式【Facade Pattern】