Zum Beispiel habe ich Abhängigkeit:Wie können Abhängigkeiten in Objekten, die von Factory erstellt wurden, besser aufgelöst werden?
public interface IMyDependency
{
}
public class MyDependency : IMyDependency
{
}
Das in MyClass Objekt injiziert:
public interface IMyInterface
{
}
public class MyClass : IMyInterface
{
[Dependency]
public IMyDependency MyDependency { get; set; }
}
Auch habe ich eine Fabrik, die MyClass-Instanz erstellt:
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>();
Wenn ich MyClass erstellen Instanz mit "new" Schlüsselwort meine Abhängigkeiten werden nicht aufgelöst werden. Oder ich sollte aus Factory fliehen und Logik in den Konstruktor von MyClass verschieben? Und nach der Registrierung im Container wie container.RegisterType()?