什么是“高级模块”和“低级模块”(在依赖倒置原则的背景下)?

问题描述 投票:0回答:3

我正在阅读维基百科对依赖倒置原则的定义,它使用了两个术语高级模块低级模块,我无法弄清楚。

它们是什么?依赖倒置原则与它们有什么关系?

module language-agnostic dependencies inversion-of-control dependency-inversion
3个回答
11
投票

这些的定义在介绍性句子中给出:

高层:政策制定
低级别:依赖模块。

通俗地说:高层模块依赖于低层模块,但不应该依赖于它们的实现。这可以通过使用接口来实现,从而将服务的定义与实现解耦。


3
投票

这里解释一下: https://softwareengineering.stackexchange.com/a/419630

低级模块是“低级”,因为它们没有依赖项, 或者没有相关的依赖关系。很多时候,它们可以很容易地重复使用 不同的上下文,而不引入任何单独的、正式的接口 - 这意味着,重用它们是直接、简单的,并且不需要任何依赖倒置。

然而,

高级模块是“高级”,因为它们需要 其他较低级别的模块可以工作。但如果它们与特定的 低级实现,这通常会阻止在 不同的背景。


0
投票

有一篇关于清洁架构的好文章,我认为它也解释了这个问题。

“最外层是软件的最低级别,随着深入,级别会更高。”

简洁架构 — 初学者指南

© www.soinside.com 2019 - 2024. All rights reserved.