【问题标题】:Clean architecture dependency rule and naming objects清理架构依赖规则和命名对象
【发布时间】:2022-08-15 20:58:11
【问题描述】:

我正在阅读 Robert c 的 celan architecture article。马丁。所以我无法理解这里的依赖规则命名:

使这种架构工作的最重要的规则是 依赖规则。这条规则说源代码依赖只能 向内点。内圈中的任何人都无法知道任何事情 关于外圈的某事。特别是,名称 外圈声明的东西不能被 在内圈中的代码。这包括函数、类。 变量或任何其他命名的软件实体。

\"In particular, the name of something declared in an outer circle must not be mentioned by the code in the an inner circle. That includes, functions, classes. variables, or any other named software entity\"是什么意思

我在外圈中使用了一个类或方法,但我无法在内圈中定义一个新的类或方法。是真的?或者其他。

    标签: architecture clean-architecture


    【解决方案1】:

    这意味着特别是,在外圈中声明的事物的名称不能被内圈中的代码提及。这包括函数、类。变量,或任何其他命名的软件实体

    这意味着内圈不应该知道外圈的任何东西,从某种意义上说:

    • 领域层不应该知道数据层正在使用什么数据库
    • Domain 层不应该知道 Presentation 层正在呈现什么样的 UI 来收集/显示数据

    那么,如果域层有要保存或检索的内容,它是如何与数据层通信的呢?通过使用接口.它只知道它需要获取或保存一些东西,但它不知道如何.实际上实现被抽象.这样,它使更容易改变从某事外层不接触内层.例如:

    • 您可以更改正在使用的数据库,而无需触及域/业务层
    • 您可以更改从 UI 收集用户名或密码的方式(通过输入字段、语音识别等),而无需修改域层,它只知道它将收到一串用户名和密码。

    【讨论】:

      猜你喜欢
      • 2017-03-20
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多