首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖隔离意义

依赖隔离意义
EN

Stack Overflow用户
提问于 2020-09-17 11:08:35
回答 3查看 1.6K关注 0票数 3

我正在阅读12因素-应用程序宣言,我现在在依赖项部分。但是,依赖隔离是我无法理解的事情。

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

为了寻找答案,我只想知道如何在特定的语言/框架中实现依赖隔离。

也许这只是我对英语的理解上的一个限制,但是有人能在这方面给我启发吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-23 06:47:18

假设您正在使用Python构建一个应用程序。您决定使用Django网络框架。在启动时,您可以使用pip install django安装Django。Django 3.1安装在您的本地系统上。

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

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

票数 6
EN

Stack Overflow用户

发布于 2020-09-22 10:58:51

应用程序依赖关系应该由应用程序构建自身来管理,而不是从外部或单独管理。工具可用于maven pom.xml或gradle.build或package.json或Gemfile等。

票数 1
EN

Stack Overflow用户

发布于 2022-11-01 14:58:33

我认为其他答案更多是关于依赖关系管理(钉扎、跟踪等),而不是孤立。

在软件工程中,隔离常常被看作是一种以低成本替换某种东西(某种依赖性)的能力。

这可以通过使用您自己的函数、类、适配器等围绕依赖关系(类、函数)来实现。

例如,如果您在Django项目中创建了一些包装Django模型API的Repository类,那么您就可以通过更改Repository实现来用SQLAlchemy或raw SQL替换Django ORM。如果Django模型在您的项目中任何地方都使用,直接导入到您的每个模块中,那么从您的项目中删除Django ORM将更加困难。您必须更改导入Django模型(-s)的每个模型。

你可以在罗伯特·马丁斯的书里读到更多这方面的内容。清洁代码和清洁架构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63936750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档