gpt4 book ai didi

design-patterns - Facade 模式是否违反了 SRP?

转载 作者:行者123 更新时间:2023-12-03 23:24:08 26 4
gpt4 key购买 nike

SRP 校长说:

a class or module should have one, and only one, reason to change



我有一些 Facade 类作为我的服务层类。例如 SaleService ,它提供了一些方法,例如 SaveOrder()CancelOrder()CreateOrder()GetAllOrders()GetAllPlannedOrders() ,...

我只是因为它们的概念关系将它们放在一起。
将此类类与此方法一起使用,可能有多个原因更改(),是否违反 SRP?如果是,我该如何处理这个问题?

最佳答案

外观模式本身并不违反 SRP。通常,外观模式隐藏了底层对象之间的复杂交互。在这种情况下,外观的“单一职责”是管理这些交互。只要这些交互没有改变,你的外观就没有理由改变。如果交互变得非常复杂,再次将您的外观的实现拆分为多个对象可能是值得的。

如果我查看您的示例,我不会觉得您真的试图隐藏复杂性,因此重新考虑此处使用外观模式可能会很有趣。

关于design-patterns - Facade 模式是否违反了 SRP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17807770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com