0
比如我有依赖性:如何更好地解决工厂创建的对象中的依赖关系?
public interface IMyDependency
{
}
public class MyDependency : IMyDependency
{
}
内喷射在MyClass的对象:
public interface IMyInterface
{
}
public class MyClass : IMyInterface
{
[Dependency]
public IMyDependency MyDependency { get; set; }
}
另外我有一个工厂,创建MyClass的实例:
public interface IFactory
{
IMyInterface CreateMyObject();
}
public class Factory : IFactory
{
public IMyInterface CreateMyObject()
{
// some checks before creation
// for. ex check if this type of object supported by OS and thow exception if not
return new MyClass();
}
}
...
container.RegisterType<IFactory, Factory>();
如果我创建MyClass的带有“新”关键字的实例将无法解析。或者我应该逃离Factory并将逻辑移入MyClass的构造函数中?并将其注册到容器中后,如container.RegisterType()?