依赖隔离意义

Dependency Isolation meaning

我正在阅读 12-factor-app manifesto 并且我现在在依赖项部分。 不过,依赖隔离是我无法理解的事情。

不幸的是,除了 12 因素应用程序应该“在执行期间使用依赖项隔离工具以 确保没有隐式依赖项之外,没有关于给出的实际定义从周围系统“泄漏”".

寻找答案时,我只找到有关如何在特定 language/framework 中实现依赖隔离的问题。

也许这只是我对英语理解的局限,但是有人可以启发我吗?

应用程序依赖项应由应用程序构建本身管理,而不是从外部或单独管理。工具可以像 maven pom.xml or gradle.build or package.json or Gemfile etc

假设您正在使用 Python 构建应用程序。您决定使用 Django web-framework。 在开始时,您使用 pip install django 安装 Django。 Django 3.1 已安装在您的本地系统上。

两个月后,您决定在服务器上托管 Django 项目。你按 pip install django 安装 django。这次安装了 Django 3.3。由于版本升级,您的代码可能会中断。

为避免此类情况,建议注意 Django 的版本和 Python。您可以在 requirement.txt 或 piplock 文件中添加 Django 版本。