Design patterns 应用依赖倒置原理寻找依赖中的高层和底层模块

Design patterns 应用依赖倒置原理寻找依赖中的高层和底层模块,design-patterns,dependencies,dependency-inversion,Design Patterns,Dependencies,Dependency Inversion,他们说: 高级模块不应依赖于低级模块。二者都 应该依赖于抽象 抽象不应该依赖于细节。细节应视情况而定 基于抽象 如何在我的应用程序中实际找到高级和低级模块,它们有明确的定义吗?我通常是这样引用它们的: 高级模块-->此模块代表更多的业务方面,而不是技术方面。它可以被称为抽象而不是实现,通常通过接口实现 例如:RegisterAccount,PostAnswer,PostQuestion,AddComment,InsertComment 因为低级模块代表的是更多的技术方面,而不是业务方面。例如

他们说:

  • 高级模块不应依赖于低级模块。二者都 应该依赖于抽象
  • 抽象不应该依赖于细节。细节应视情况而定 基于抽象

如何在我的应用程序中实际找到高级和低级模块,它们有明确的定义吗?

我通常是这样引用它们的:

高级模块-->此模块代表更多的业务方面,而不是技术方面。它可以被称为抽象而不是实现,通常通过接口实现

例如:
RegisterAccount
PostAnswer
PostQuestion
AddComment
InsertComment

因为低级模块代表的是更多的技术方面,而不是业务方面。例如,我们使用
InsertComment
HLM。LLM应为:

  • 开放数据库连接
  • 执行insert语句
  • 关闭数据库连接
  • 高级模块可以是另一上下文中的低级模块。再举一个例子,
    AddComment
    的LLM应该是:

  • 验证注释(例如15个字符分钟)-->这将是另一个HLM
  • 将注释插入数据库-->这将是另一个HLM(
    InsertComment
  • 向相关用户添加通知-->这将是另一个HLM
  • 这同样适用于其他HLM