一种事后的补救策略。适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。
<!-- more -->
## 场景
> Slf4j 的出现晚于 JUL、JCL、log4j 等日志框架,所以,这些日志框架也不可能牺牲掉版本兼容性,将接口改造成符合 Slf4j 接口规范。Slf4j 也事先考虑到了这个问题,所以,它不仅仅提供了统一的接口定义,还提供了针对不同日志框架的适配器。对不同日志框架的接口进行二次封装,适配成统一的 Slf4j 接口定义
## 适配器与门面模式的区别
Slf4j 同时用了门面模式和适配器模式
Slf4j 对于我们使用者来说,是一个门面。但是它之所以能底层可以用 log4j,logback 等的任何一个,是因为它内部实现了适配器。
JsonUtil 内部组合了 objectMapper

