门面模式

2021-04-15  本文已影响0人  lj72808up

1. 门面模式

解决接口的复用性和易用性之间的冲突

2. 门面模式的做法

假设有一个系统 A,提供了 a、b、c、d 四个接口。系统 B 完成某个业务功能,需要调用 A 系统的 a、b、d 接口。利用门面模式,我们提供一个包裹 a、b、d 接口调用的门面接口 x,给系统 B 直接使用。

3. 门面模式解决什么问题

(1) 解决易用性问题
迪米特法则(最小知识原则)
接口隔离原则

(2) 包裹接口解决性能问题
对于 web 应用, 同时调用多个接口会造成网络 IO 压力大, 响应速度慢. 如果只调用一个借口就能让页面获取足够的信息, 会加速页面响应

(3) 解决分布式事务问题
比如一个金融系统的账号注册, 要同时完成用户创建和用户的钱包创建, 这两个操作是在一个事务里的, 要同时成功或失败. 如果远端调用方分别调用者两个接口, 需要引入分布式事务的做法, 代码复杂度很高. 如果远端系统暴露出了同时创建用户和钱包的接口, 则可以避免引入分布式事务

4. 总结

上一篇下一篇

猜你喜欢

热点阅读