原理 定义一组高层接口,让系统更易用 应用场景 解决易用性 接口通用性强那么功能就比较单一,实现一个大的功能可能需要使用到多个接口比较麻烦 可以通过门面模式暴露一组高层接口,将单一的底层接口封装起来,提高易用性 解决性能问题 将原来多次接口调用变为一次接口调用,减少网络通信次数 解决分布式事务问题 比如用户注册功能需要调用用户注册接口、钱包创建接口来完成,如果要保证这两个接口的原子性需要使用分布式事务,但是可以通过提供一个高层接口将用户创建、钱包创建包在一个本地事务中来保证两个操作的原子性,这样就可以不使用分布式事务这个复杂的操作