类内部的实例化与依赖注入(用于可测试性)

时间:2018-08-15 14:07:43

标签: c# unit-testing dependency-injection

  

这是一个综合的示例,但是我在生产代码中有类似的条件。

程序将申请人转换为员工。 在循环中,我们将AccountConvertor称为具体的专用实现,该实现汇总在申请人类的内部(例如ManagerAccountConvertor的{​​{1}})。我们极不可能使用Manager以外的其他东西来转换ManagerAccountConvertor。是否有每次向混凝土管理者注入混凝土转换器而不是保持内联实例化并按原样对其进行测试的意义?

Manager

1 个答案:

答案 0 :(得分:0)

如果 IApplicant 的所有实现的 IAccountConverter 都相同,则不必实例化 IAccountConverter < / strong>,每个员工实例,但每个员工 type 仅一个。从注入存储库检索实例也有开销。您必须考虑开销对于解决方案转换的人数或员工而言是否足够。