元月's blog 元月's blog
首页
  • 基础
  • 并发编程
  • JVM
  • Spring
  • Redis篇
  • Nginx篇
  • Kafka篇
  • Otter篇
  • Shardingsphere篇
  • 设计模式
  • MySQL
  • Oracle
  • 基础
  • 操作系统
  • 网络
  • 数据结构
  • 技术文档
  • Git常用命令
  • GitHub技巧
  • 博客搭建
  • 开发工具
更多

元月

临渊羡鱼,不如退而结网
首页
  • 基础
  • 并发编程
  • JVM
  • Spring
  • Redis篇
  • Nginx篇
  • Kafka篇
  • Otter篇
  • Shardingsphere篇
  • 设计模式
  • MySQL
  • Oracle
  • 基础
  • 操作系统
  • 网络
  • 数据结构
  • 技术文档
  • Git常用命令
  • GitHub技巧
  • 博客搭建
  • 开发工具
更多
  • 设计模式

    • 设计模式简介
    • 设计模式之单例模式
    • 设计模式之工厂模式
    • 设计模式之原型模式
    • 设计模式之建造者模式
    • 设计模式之适配器模式
    • 设计模式之桥接模式
    • 设计模式之组合模式
    • 设计模式之装饰器模式
    • 设计模式之外观模式
      • 一、简介
      • 二、实现方式
      • 三、应用场景
      • 四、思维导图
    • 设计模式之享元模式
    • 设计模式之代理模式
    • 设计模式之责任链模式
    • 设计模式之命令模式
    • 设计模式之解释器模式
    • 设计模式之迭代器模式
    • 设计模式之中介者模式
    • 设计模式之备忘录模式
    • 设计模式之观察者模式
    • 设计模式之状态模式
    • 设计模式之策略模式
    • 设计模式之模版模式
    • 设计模式之访问者模式
    • 设计模式辨析篇
  • 高可用

  • 系统设计
  • 设计模式
元月
2022-08-11
目录

设计模式之外观模式

# 设计模式之外观模式

# 一、简介

外观模式它隐藏了系统的复杂性,提供了一个统一的接口,用来访问子系统中的一组接口,使子系统更加容易使用

# 二、实现方式

维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,此时可以为客户端开发一个外观Facade类,来提供比较清晰简单的接口,让客户端直接与Facade对象进行交互,而Facade对象负责与遗留代码交互所有复杂的工作

  • Client:客户端,使用依赖Facade的对象
  • Facade:抽象接口,知道哪些子系统负责处理哪些请求,将请求实际转发给子系统处理(有点像Adapter模式进行接口的转换)
  • subSystemxx:子系统,实现子系统的功能;处理Facade指派的任务;不存储Facade的任何信息

# 三、应用场景

  • 通过使用外观模式,在数据访问层、业务逻辑层和表示层的层与层之间建立“外观”,降低耦合度。
  • 在我们现有系统中,主要是通过feign和下游系统进行交互的,有时候下游的一个基本接口调用的地方非常多,并且会对结果进行校验,如果接口出现变动,改动的地方会非常多。这时候可以使用一个Facade类来对下游系统进行feign调用,并对结果进行校验。

# 四、思维导图

#设计模式
设计模式之装饰器模式
设计模式之享元模式

← 设计模式之装饰器模式 设计模式之享元模式→

最近更新
01
otter二次开发-支持按目标端主键索引Load数据
08-03
02
mvnw简介
06-21
03
gor流量复制工具
06-03
更多文章>
Theme by Vdoing | Copyright © 2022-2024 元月 | 粤ICP备2022071877号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式