依赖注入和循环引用

时间:2019-04-25 07:55:06

标签: c# dependency-injection reference circular-reference

我正在尝试更新旧代码库并添加依赖项注入,以便轻松地对整个组件进行单元测试。

假设我有一个类Patient,然后是提供加载和保存方法的IPatientDBController。然后FilesAsDB:IPatientDBController是基于xml文件的接口的实现。

我认为耐心的好方法是:

public class Patient
{
   private IPatientDBController _DB;
   public Patient(IPatientDBController DB) {_DB = DB}
   public Save()
   {
       path = "precalcultedpath";
       _DB.saveToXML(this, path);
   }
}

我现在的问题是我有一个程序集,我们称它为BaseAssembly,其中包含诸如患者之类的基本内容。然后是Managers程序集,其中包含FilesAsDBIPatientDBController,并且需要引用BaseAssembly

但是随后BaseAssembly需要使用Ifaces引用程序集(而又需要引用其自身)

构造整件事的正确方法是什么?

0 个答案:

没有答案