gpt4 book ai didi

c# - 为什么我必须使用 IoC unity

转载 作者:太空狗 更新时间:2023-10-30 00:10:28 25 4
gpt4 key购买 nike

<分区>

我创建了一个适用于依赖倒置原则的类,并使用了依赖注入(inject)模式,如下:

public interface ITypeOfPrinter
{
string Printing();
}

public class Print
{
private readonly ITypeOfPrinter _typeOfPrinter;

public Print(ITypeOfPrinter typeOfPrinter)
{
_typeOfPrinter = typeOfPrinter;
}

public string print()
{
return _typeOfPrinter.Printing();
}
}

public class BlackAndWhitePrinter : ITypeOfPrinter
{
public string Printing()
{
NumberOfPrints++;
return string.Format("it is Black and white printing {0}", NumberOfPrints);
}

public int NumberOfPrints { get; set; }

}
public class ColorfullPrinter : ITypeOfPrinter
{
public string Printing()
{
NumberOfPrints++;
return string.Format("it is colorfull printing {0}", NumberOfPrints);
}
public int NumberOfPrints { get; set; }
}

因此,如果我想使用 BlackAndWhitePrinter,我只需创建一个实例对象并将其提供给我的 Print 类,其构造如下:

ITypeOfPrinter typeofprinter = new BlackAndWhitePrinter();
Print hp = new Print(typeofprinter);
hp.print();

那么为什么我必须在这里使用 Unity 或其他 IoC 框架?我已经按照上面的方式做了我想做的:

var unityContainer = new UnityContainer();
unityContainer.RegisterType<ITypeOfPrinter, BlackAndWhitePrinter>();
var print = unityContainer.Resolve<Print>();
string colorfullText = print.print();

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com