java 外观模式与服务层模式的区别

x33g5p2x  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(105)

外观模式和服务层模式之间的区别到底是什么?
对于外观模式,您可以找到如下定义:外观将复杂的子系统封装在一个简单的界面后面。它隐藏了大部分的复杂性,并使子系统易于使用。
因此,外观类将复杂的业务逻辑封装到易于使用的方法中。
但是服务层模式不做同样的事情吗?

35g0bw71

35g0bw711#

外观是一种结构化设计模式。服务层是一种体系结构设计模式。服务层用于组织服务,以便属于同一层的服务共享功能,从而强制相关服务进行逻辑分组并处理较小的活动集。外观提供了一个屏蔽更复杂的底层代码的接口,但它本身并不关心服务是如何组织的。
例如,假设你有一个网上商店,当你点击“buy”按钮时,它可能会调用一个buyProducts()方法,但在这个方法中,你可能会调用一个ProductAvailabilityService来告诉你你想买的产品是否还有货,一个PaymentService来实际管理付款,还有一个EmailNotificationService给你发一封电子邮件,里面有你购买的细节。这将是一个门面。
现在,假设您有一家医院。您有检索患者病史、患者当前处方药物等的服务。这些服务可能都属于患者服务层。而用于医生检查其预约情况的服务可能属于医生服务层。
简而言之,一种模式关注服务的逻辑组织,另一种模式关注简化一个或多个服务的使用方式。

相关问题