猿问

工作单元和存储库模式依赖注入

以下是我的 IOperation 接口,它有两个签名:


public interface IOperations

{


    int Mul(int a, int b);

    int Sum(int a, int b);

}

在操作类中,我实现了上述方法:


public class Operations:IOperations

{

  public  int Mul(int a,int b)

    {



        return a * b;

    }


  public  int Sum(int a,int b)

    {



        return a + b;

    }

}

现在在主程序中我应该如何满足 DI?像这样?


    static void Main(string[] args)

    {

        IOperations myOperations = new Operations();


        myOperations.Mul(3, 2);



    }


慕尼黑的夜晚无繁华
浏览 173回答 2
2回答

www说

这与依赖注入没有多大关系;什么构造函数public class TestController{    private IUnitOfWork unitOfWork;    public TestController(IUnitOfWork unitOfWork)    {        this.unitOfWork = unitOfWork;    }}它只是简单地获取一个对象的实例IUnitOfWork并将其存储在它的 field 中unitOfWork。所以,你可能(但不应该)这样称呼它:// Returns an instance of IUnitOfWork.IUnitOfWork mySpecificUnitOfWorkInstance = this.GetUnitOfWork();// Now you pass that exact instance to the TestController so that it can do stuff with it.TestController testController = new TestController(mySpecificUnitOfWorkInstance);更简单的例子可能(没有依赖注入、存储库模式等可能令人困惑的概念):public class NumberHolder{    private int number = 0;    public NumberHolder(int number)    {        this.number = number;    }}如果你这样称呼它NumberHolder foo = new NumberHolder(42);你实际上传递42给NumberHolder.
随时随地看视频慕课网APP
我要回答