Strukturfrage zu einem Management Tool



  • Hmm, ich stehe grade mal wieder auf dem Schlauch und könnt ein wenig Tipps brauchen wie ich das am besten umsetze :).

    Folgender Workflow:
    Das Programm startet, es kann nun ein User anhand einer manuell anzugebenden ID geöffnet werden.
    Wenn der User nicht in einem lokalen Cache vorhanden ist, dann wird ein xml aus dem Internet heruntergeladen, das die Daten enthält. Ausserdem weitere XML die weitere Datensätze enthalten.
    Das ganze soll dann auf der Platte abgelegt werden:

    UserID
       -- DatensatzID 
            -- Bilder
            -- AppProfile.xml
       -- DatensatzID
            --Bilder
            --AppProfile.xml
    

    Wenn jetzt aber der Datensatz schon vorhanden ist, dann soll das ganze erst aus dem Cache geladen werden und danach, auf Anfrage des Users, auch aus dem Internet aktualisiert werden.

    Die Frage die sich jetzt aufwirft, wie erstelle ich die Logik am besten?
    Mit Vererbung, indem ich eine Klasse User mache die von der Platte liest und eine die ausm Internet liest?
    Oder einfach eine Klasse User die je nach Bedarf von Platte oder Internet liest? Würde den Code denke ich unnötigerweise verkomplizieren.
    Oder der Klasse User diese Möglichkeit gar nicht geben und einen "Reader" dafür implementieren?
    Wie würdet ihr dieses Problem strukturell angehen?



  • Letzteres. Die User Klasse solte nicht von http, Datenbanken, Dateisystemen und anderen Technologien abhängen. Diese Dinge erledigen jeweils spezielle Klassen.


Anmelden zum Antworten