【问题标题】:Finding the High-Level and Low-Level modules in dependencies for applying Dependency Inversion Principe在依赖项中查找高级和低级模块以应用依赖倒置原则
【发布时间】:2013-08-12 18:01:25
【问题描述】:

Dependency Inversion Principle 说:

  • 高级模块不应依赖于低级模块。两个都 应该依赖于抽象。
  • 抽象不应依赖于细节。细节应该取决于 基于抽象。

如何在我的应用程序中实际找到 High-levelLow-level 模块,它们有明确的定义吗?

【问题讨论】:

    标签: design-patterns dependencies dependency-inversion


    【解决方案1】:

    这是我通常引用他们的方式:

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

    例如:RegisterAccountPostAnswerPostQuestionAddCommentInsertComment

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

    1. 打开数据库连接
    2. 执行插入语句
    3. 关闭数据库连接

    高级模块可以是另一个上下文中的低级模块。再举个例子,AddComment的LLM应该是:

    1. 验证评论(例如 15 char min)--> 这将是另一个 HLM
    2. 向数据库插入评论 --> 这将是另一个 HLM (InsertComment)
    3. 向相关用户添加通知 --> 这将是另一个 HLM

    同样适用于其他 HLM。

    【讨论】:

      猜你喜欢
      • 2017-09-22
      • 2011-04-16
      • 1970-01-01
      • 2016-10-24
      • 2017-09-09
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多