Design Pattern, UnitTests, Daten- und Logikschicht



  • Hallo zusammen,

    ich habe eine C# WPF GUI, bestehend aus mehreren Panels mit DataGrids. Das Datenmodel besteht aus drei Ebenen. Die Klasse A hat eine Liste von Klasse B, welche wiederum jeweils eine Liste von Klasse C hat.

    In der GUI soll der Benutzer die Möglichkeit haben, eine Ausführung/Berechnung auf allen Klassen-Typen anzustoßen. Es soll also möglich sein, A mit allen Kindern B und C auszuführen, oder aber verschiedene C's, oder eine Teilmenge aus A, B und C.
    Während der Ausführung werden alle Daten in eine Ausführungsumgebung geschrieben, etwas wird berechnet, zurückgeschrieben, ausgewertet, etc. Dabei sollen die Daten aller Klassen A, B und C in die Ausführungsumgebung geschrieben werden, unabhängig davon, welche Klassen nun aktiv ausgeführt werden sollen.

    Meine Frage ist nun etwas platt - wie mache ich das am besten? Es muss UnitTest-tauglich sein. Ich tue mich schwer, Ausführungslogik/Ausführungsdaten und Inhaltsdaten miteinander zu vermischen. Auch habe ich bereits an einen Singleton-Adapter gedacht, der die Ausführungsumgebung, bzw. den Zugang dazu kapselt. Aber das ist nicht unbedingt UnitTest-tauglich und außerdem, hat der Adapter dann drei "Run"-Methoden, pro Typ, oder nur eine für alle? Haben die Klassen selbst eine Run-Methode? Wo verwalte ich Ausführungsdaten, wie z.B. welche Klassen im nächsten Durchlauf ausgeführt werden sollen.

    Habt ihr eine Idee, ein Design-Pattern, wie ich das am besten mache?

    Danke im Voraus!


Anmelden zum Antworten