6

依赖倒置原则说:

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

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

4

1 回答 1

7

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

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

一些例子可能是:RegisterAccount, PostAnswer, PostQuestion, AddComment, InsertComment.

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

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

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

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

这同样适用于其他 HLM。

于 2013-08-12T15:19:59.697 回答