依赖倒置原则说:
- 高级模块不应该依赖于低级模块。两者都应该依赖于抽象。
- 抽象不应依赖于细节。细节应该取决于抽象。
我如何在我的应用程序中实际找到高级和低级模块,它们有什么明确的定义吗?
这就是我通常引用他们的方式:
高级模块--> 这个模块代表更多的业务方面而不是技术方面。它可以被称为抽象而不是实现,通常通过接口来实现。
一些例子可能是:RegisterAccount
, PostAnswer
, PostQuestion
, AddComment
, InsertComment
.
由于低级模块代表更多的技术方面而不是业务方面。例如,我们采用InsertComment
HLM。LLM应该是:
高级模块可以是另一个上下文中的低级模块。再举一个例子,AddComment
的 LLM 应该是:
InsertComment
)这同样适用于其他 HLM。