设计模式之外观模式
# 设计模式之外观模式
# 一、简介
外观模式它隐藏了系统的复杂性,提供了一个统一的接口,用来访问子系统中的一组接口,使子系统更加容易使用
# 二、实现方式
维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,此时可以为客户端开发一个外观Facade类,来提供比较清晰简单的接口,让客户端直接与Facade对象进行交互,而Facade对象负责与遗留代码交互所有复杂的工作
- Client:客户端,使用依赖Facade的对象
- Facade:抽象接口,知道哪些子系统负责处理哪些请求,将请求实际转发给子系统处理(有点像Adapter模式进行接口的转换)
- subSystemxx:子系统,实现子系统的功能;处理Facade指派的任务;不存储Facade的任何信息
# 三、应用场景
- 通过使用外观模式,在数据访问层、业务逻辑层和表示层的层与层之间建立“外观”,降低耦合度。
- 在我们现有系统中,主要是通过feign和下游系统进行交互的,有时候下游的一个基本接口调用的地方非常多,并且会对结果进行校验,如果接口出现变动,改动的地方会非常多。这时候可以使用一个Facade类来对下游系统进行feign调用,并对结果进行校验。