最重要的依赖性刺激者被认为是不好的做法吗?

问题描述 投票:1回答:1

我正在重新实现D编程语言中的Python Dependency Injector之类的东西。我想为D构建一个纯依赖注入框架。

overriding of providers被认为是不好的做法吗?似乎覆盖提供者显然是非本地依赖性,非本地依赖性通常被OOP理论认为是不好的做法。

那么我应该还是不应该在D的纯依赖注入框架中实现提供者的覆盖?

python design-patterns dependency-injection d
1个回答
1
投票

首先,D中没有标准DI支持。标准我的意思是 - DI框架不是D标准库的一部分。因此,完全取决于您如何实现它。我只是简单地浏览了你提到的Python Dependency Injector项目,除了一些python特定的东西,我看不出为什么在D中实现的好的DI框架不能以同样的方式完成。 “提供者”这个名字让我想起了Java SPI是如何工作的,这也是我们(我也是Java开发人员)使用了几十年,并且它被证明是一种很好的方法。

你的问题有点令人困惑,因为覆盖在D中有一个特殊的含义。在我看来,你的DI框架的用户应该能够插入不同但兼容的提供者,只要这些提供者提供相同类型的对象(实现你班需要的一些接口)。

我在上面说过,标准库中没有标准的DI框架,但值得一提的是D社区的其他成员完成了D的DI框架。其中一个是优秀的(类似Spring的)Poodinis框架:https://github.com/mbierlee/poodinis。看看它是否符合您的需求。

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