为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕尼黑的夜晚无繁华 2021-07-14 13:01:37
以下是我的 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);    }
查看完整描述

2 回答

?
www说

TA贡献1775条经验 获得超8个赞

这与依赖注入没有多大关系;什么构造函数


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.


查看完整回答
反对 回复 2021-07-17
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信