Hallo Leute,
aktuell überlege ich bei folgendem Szenario wie ich's löse:
Das Programm besitzt einige Stammdaten wie zum Beispiel Länder.
Macht es hier mehr Sinn die Länder einmalig bei Start ins Haupt-ViewModel - oder in ne Hilfsklasse mit Static Properties zu laden -, oder sollte jedes ViewModel die Daten für sich erneut laden?
Bei den Ländern kann man ja auch davon ausgehen, dass keine Neuen während der Laufzeit hinzukommen, wäre ja meiner Meinung nach ein weiteres Kriterium was zur Entscheidung beitragen könnte/sollte.
Gedanken zum einmaligen Laden:
- Nunja, passiert halt nur 1x statt jedes Mal wenn ein View sich mit zugehörigem ViewModel zeigt (weniger DB Auslastung, etc pp..)
- Zukünftige SQL Abfragen könnten ggf. auf die Untertabellen verzichten, da ich durch die Parent Tabelle ja an die nötige ID komme, dann kann ich mir aus den Stammdaten das Land mit der jeweiligen ID ziehen (zum Beispiel mit der Single-Funktion).
- Man müsste nicht bei jeder Abfrage neue Instanzen erstellen
- Verletzt das ggf. die MVVM Regeln?
- BindingSources können sehen, dass es sich bei Objekten um die selben Instanzen handelt, man spart sich also das Überschreiben der Equals & GetHashCode Funktion
- Wenn man in einer View zum Beispiel einen Leer-Datensatz zulassen will (damit man zum Beispiel nach allen Ländern filtern kann, statt nur einem), dann müsste man mit einer CompositeCollection (hab ich gelesen) arbeiten, da die View nicht ein ViewModel mit passender Property besitzen würde.
PS: Bisher habe ich immer pro View die Daten geladen..
aktuell überlege ich bei folgendem Szenario wie ich's löse:
Das Programm besitzt einige Stammdaten wie zum Beispiel Länder.
Macht es hier mehr Sinn die Länder einmalig bei Start ins Haupt-ViewModel - oder in ne Hilfsklasse mit Static Properties zu laden -, oder sollte jedes ViewModel die Daten für sich erneut laden?
Bei den Ländern kann man ja auch davon ausgehen, dass keine Neuen während der Laufzeit hinzukommen, wäre ja meiner Meinung nach ein weiteres Kriterium was zur Entscheidung beitragen könnte/sollte.
Gedanken zum einmaligen Laden:
- Nunja, passiert halt nur 1x statt jedes Mal wenn ein View sich mit zugehörigem ViewModel zeigt (weniger DB Auslastung, etc pp..)
- Zukünftige SQL Abfragen könnten ggf. auf die Untertabellen verzichten, da ich durch die Parent Tabelle ja an die nötige ID komme, dann kann ich mir aus den Stammdaten das Land mit der jeweiligen ID ziehen (zum Beispiel mit der Single-Funktion).
- Man müsste nicht bei jeder Abfrage neue Instanzen erstellen
- Verletzt das ggf. die MVVM Regeln?
- BindingSources können sehen, dass es sich bei Objekten um die selben Instanzen handelt, man spart sich also das Überschreiben der Equals & GetHashCode Funktion
- Wenn man in einer View zum Beispiel einen Leer-Datensatz zulassen will (damit man zum Beispiel nach allen Ländern filtern kann, statt nur einem), dann müsste man mit einer CompositeCollection (hab ich gelesen) arbeiten, da die View nicht ein ViewModel mit passender Property besitzen würde.
PS: Bisher habe ich immer pro View die Daten geladen..
Polling is trolling!
Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..