Csharp/C#教程:为什么我不应该在构造函数中调用我的依赖项?分享


为什么我不应该在构造函数中调用我的依赖项?

我一直认为从构造函数中调用类依赖项是一种不好的做法,但是昨天无法向同事说明原因。 任何人都可以提供不这样做的充分理由吗?

Nikola Malovic的IoC第四定律有几个原因:

请注意, 此规则是上下文的:它适用于使用Constructor Injection的服务。 实体和值对象倾向于不使用DI,因此其构造函数受其他规则的约束。

如果你调用你的依赖项,你实际上是在构造函数中工作。

从客户的角度来看是出乎意料的。 当我做这样的事情时:

var myObj = new SomeClass(); 

我不指望有任何副作用。

如果您在构造函数中执行某些操作,例如它可能会抛出exception,这肯定不是您所期望的。 这就像命名方法FetchUsers并在该方法中创建用户并返回它。 不是你所期望的。

上述就是C#学习教程:为什么我不应该在构造函数中调用我的依赖项?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/998637.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐