Ich erstelle eine wpf-Anwendung, die die folgenden Funktionen implementiert:
- Nehmen Sie Benutzereingaben und lesen Sie Daten aus Datenbanken
- Führen Sie einige Berechnungen durch
- Präsentieren Sie es dem Benutzer in mehreren Arten von Ansichten und schreiben Sie Änderungen zurück in db
Vorgeschlagene Architektur: Datenbank -> Entity Framework -> Repository -> Geschäftslogik -> Datendienst -> ViewModel
Gründe für die Verwendung dieser Architektur: Mehrere in der Anwendung vorhandene Szenarien (mehrere Ansichten) und mehrere Datenbanken. Daher bin ich bereit, das Repository in der Mitte für die Abstraktion zu verwenden.
Eine Einschränkung ist, dass der Kontext langlebig ist, wenn das Repository implementiert wird. Um dies zu überwinden, ist es in Ordnung, in jeder der Rohmethoden einen Kontext zu erstellen und diese in einem using () -Block zu entsorgen.
Sie können gerne alternative Ansätze vorschlagen.