首页/开发/代码质量与评审速查/外观模式 Facade(结构型)
设计原则与模式62 条

外观模式 Facade(结构型)

为复杂子系统提供简化入口:屏蔽内部协作细节,调用方只面向稳定门面;门面本身不新增业务,保持薄,子系统能力仍可绕过门面单独使用。

意图简化入口、降低客户端认知负担
原则门面保持薄,不拦截全部可能性
场景SDK 入口、启动引导、跨模块编排

Java 示例

Java 示例
class VideoFacade {
    void convert(String file, String fmt) {
        Codec codec = CodecFactory.forFormat(fmt);
        AudioMixer mix = new AudioMixer(codec);
        mix.render(file);
    }
}

易错点

  • 门面膨胀成啥都管的上帝类:失去简化意义
  • 门面里做权限与业务校验:职责越界

数据来源与参考

  • 《设计模式》(GoF)· Facade
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌