根据Clean Architecture,实体不存在,只有用例存在于SNS上吗?

时间:2019-02-18 07:12:58

标签: architecture entity use-case clean-architecture

我读了一本书《清洁架构:软件结构和设计的工匠指南》(罗伯特·C·马丁)。

首先,我仅以母语翻译了翻译版本,因此书中所表达的想法之词可能与英文版本不完全匹配,但我如何解释得足以使这里的人们理解我的写作。

书的解释

在本书的“业务规则”部分中,有关于

的说明
  • 最重要的业务规则
  • 实体
  • 用例

根据这本书...

无论系统是否自动化,都存在“最重要的业务规则”。例如,银行将N%的利息设置为负荷。

“实体”代表“最重要的业务规则”

“用例”代表特定于应用程序的业务规则,只有在系统将其自动化后,该规则才存在。

我的问题

像SNS这样的基于Web的应用程序只有在存在不同于银行从事贷款业务的系统的情况下才存在,而无需使用系统就可以完成。如果我应用“ Clean Architecture”一书中写的内容,则SNS应用程序没有任何实体,所有业务逻辑都是用例。

我的理解正确吗?

1 个答案:

答案 0 :(得分:1)

在他的文章(https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)和他的鲍伯叔叔的书中对此进行了解释

“实体封装了企业范围的业务规则”

“如果您没有企业,而只是编写单个应用程序,那么这些实体就是应用程序的业务对象。它们封装了最通用和最高级的规则。它们更改的可能性最小当某些外部变化时。”

因此,如果您的企业中有大量应用程序,则“实体”可能位于中央库或服务中,而如果您只有一个应用程序,则“实体”将封装您的应用程序中最重要/最重要的业务规则。这取决于您的应用程序上下文。