Ich bin auf Depency Injektion suchen, kann ich die Vorteile sehen, aber ich habe Probleme mit der Syntax, die es erstellt. Ich habe dieses Beispiel
public class BusinessProducts
{
IDataContext _dx;
BusinessProducts(IDataContext dx)
{
_dx = dx;
}
public List<Product> GetProducts()
{
return dx.GetProducts();
}
}
Das Problem ist, dass ich nicht schreiben will
BusinessProducts bp = new BusinessProducts(dataContextImplementation);
Ich würde weiter schreiben
BusinessProducts bp = new BusinessProducts();
weil ich finde, dass sich die erste Alternative einfach unnatürlich anfühlt. Ich möchte nicht wissen, wovon das BusinessProduct "abhängt", um die Produkte zu erhalten, außerdem habe ich das Gefühl, dass mein Code dadurch unleserlicher wird.
Gibt es irgendwelche Alternativen zu diesem Ansatz, wie ich meine ursprüngliche Syntax für die Erstellung von Objekten behalten möchte, aber ich möchte noch in der Lage sein, die Abhängigkeiten zu fälschen, wenn Unit-Tests oder ist es diese Abhängigkeit Injektion Frameworks für mich tun können?
Ich programmiere in c#, aber Alternativen aus anderen Sprachen sind willkommen