Ich habe zahlreiche Beispiele von Lazy Loading gesehen - was ist Ihre Wahl?Lazy Loading - was ist der beste Ansatz?
eine Modellklasse zum Beispiel Gegeben:
public class Person
{
private IList<Child> _children;
public IList<Child> Children
{
get {
if (_children == null)
LoadChildren();
return _children;
}
}
}
Die Klasse Person nichts wissen sollte, wie es Kinder geladen werden .... oder sollte es? Sicher sollte es kontrollieren, wenn Eigenschaften bevölkert werden oder nicht?
Würden Sie ein Repository verwenden, das eine Person mit ihrer Children-Sammlung koppelt, oder verwenden Sie einen anderen Ansatz, z. B. eine lazyload-Klasse - selbst dann möchte ich keine Lazyload-Klassenverwischung in meiner Modellarchitektur.
Wie würden Sie mit der Leistung umgehen, wenn Sie zuerst eine Person und dann ihre Children (d. H. Nicht lazy laden in diesem Fall) oder irgendwie faul laden.
Fällt alles auf persönliche Entscheidung hinaus?
Problem - das ist oft ein gutes Beispiel für lokale Optimierung auf Kosten der globalen Optimierung. – dkretz