Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#5

AW: Anfängerfragen zu Klassenaufbau

  Alt 5. Nov 2017, 13:30
..."Über TTest gibt es in Wirklichkeit noch TBatch. TBatch ist eine Liste von TTest,"... (wieder die Frage wirklich ?IST? oder ?ENTHÄLT/VERWALTET? oder ?BENUTZT? eine Liste von TTest)

..."Da verschiedene TTest mit der gleichen THardware arbeiten könnten, wird THardware nicht in jedem TTest created sondern liegt in einer THardwareList. Bei gleicher THardware zeigen also zwei TTest auf das gleichen THardware-Elemente"...
=> Sorry aus deiner anfangs als Vorgabe aufgezeigten Klassenhirarchie erschließt sich das zuletzt geschriebene nicht, daher war aktuell jeder Vorschlag zur Klassenstruktur im Prinzip reines Glaskugel reiben...

-> male es als VOLLSTÄNDIGE Struktur und beschreibe deren reale Nutzung im Programm, also auch die Logik wer Eigentümer und Verwalter von Listenobjekten ist, das ist ja oft nicht der welcher ein Objekt zu einer Liste hinzufügt, vor allem wenn es ein globales "mehrfach nutzbares" Objekt geht.
-> achte diesmal sehr genau auf deine Formulierung zu "Listen"... "ist eine Liste von X","besitzt/verwaltet eine Liste von X" oder "oder enthält eine Liste von externen X" ist jeweils was total anderes! (Bei der sauberen Lösung hilft das Vermeiden simpler Listenklassen als "ist reine StandardListe von X", da die interne Verwaltung speziell beim Anlegen und Löschen bei jeder Nutzung hier überall und extra separat programmiert werden muss)
-> Wenn du UML kannst, male und schreibe es in UML Syntax, wenn dir SQL besser liegt erzeuge mal ein Datenmodell in 3. Normalform, welches alles redunanzfrei abbildet (braucht du eigentlich eh, wenn du Anfangs deine Setups und Vorgaben einlesen und anschließend deine Resultate abspeichern willst)
-> wenn du das hast, ergibt sich die Klassenstruktur automatisch wenn du einen guten Weg findest, die sagen wir "globalen" CoreObjekte all deinen Klassen sauber zur Verfügung zu stellen... manche machen das über (mehrere) Interfaces, ich würde im einfachstem Fall in jedem Konstruktor (m)einen CoreContainer(der alles globale enthält und verwaltet) übergeben

Mehr wie diese paar allgemeinen Sachen kann ich da erstmal nicht mehr sagen.
  Mit Zitat antworten Zitat