facede门面设计模式

门面模式:

  通俗易懂的例子:https://my.oschina.net/itblog/blog/214919
  重头戏,应用到项目中的例子:待续

-----------------------------基础讲解-----------------------------------------

   也叫外观模式,英文全称是 Facade Design Pattern。应用场景比较明确,主要在接口设计方面使用。

1.解决易用性问题:

  门面模式可以用来封装系统的底层实现,隐藏系统的复杂性,提供一组更加简单易用、更高层的接口。 两个有交互的系统,只暴露有限的必要的接口。

2.解决性能问题:

  我们通过将多个接口调用替换为一个门面接口调用,减少网络通信成本,提高 App 客户端的响应速度。

  如果门面接口不多,我们完全可以将它跟非门面接口放到一块,也不需要特殊标记,当作普通接口来用即可。如果门面接口很多,我们可以在已有的接口之上,再重新抽象出一层,专门放置门面接口,从类、包的命名上跟原来的接口层做区分。如果门面接口特别多,并且很多都是跨多个子系统的,我们可以将门面接口放到一个新的子系统中。

3.解决分布式事务问题:

  要支持两个接口调用在一个事务中执行,是比较难实现的,这涉及分布式事务问题。虽然我们可以通过引入分布式事务框架或者事后补偿的机制来解决,但代码实现都比较复杂。

  现在我们可以借鉴门面模式的思想,再设计一个包裹这两个操作的新接口,让新接口在一个事务中执行两个 SQL 操作。

==========================================================================           如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行
==========================================================================
原文地址:https://www.cnblogs.com/amberJava/p/13032870.html