opi: Objekte konfigurieren

Beitrag lesen

Hallo zusammen,

wie konfiguriert man am besten Objekte ohne eine Datenbank zu benutzen?

Mein Problem:

(bitte nicht böse sein, wenn ich etwas durcheinander bringe, ich bin kein spezialist in Sachen OOP, arbeite aber daran)

Ich habe eine Vielzahl von Objekten, die von Benutzern eingerichtet, konfiguriert, geändert - wie auch immer - werden können. Ich nehme einfach mal ein Auto als Objektbeispiel.

Nun könnte ich eine simple Konfigurationsdatei erzeugen und alle Objekte darin abspeichern:

[objekt1]
paramter=wert
[objekt2]
parameter=wert

Das Objekt hat aber verschiedene Klassen, wie zum Beispiel Karosserie, Motor, Kofferraum, Fenster etc., womit ich weitere Untersektionen (Subklassen?) erzeugen müsste, was meiner Ansicht nach aber irgendwie unübersichtlich ausschaut und mir irgendwie nicht behagt.

Zunächst dachte ich an soetwas wie eine Verzeichnisstruktur. Jedes Verzeichnis wäre im Sinne einer Ober- oder Unterklasse und Dateien beinhalten die Klassendefinitionen. Ein Beispiel:

Verzeichnis:Audi
   Verzeichnis:A4
      Datei:Karosserie
      Datei:Fenster
      Verzeichnis:Motor
         Datei:12Zyl
         Datei:6Zyl
   Verzeichnis:A8     # übrigens mein Favorit :-)
      Datei:Karosserie
      Datei:Fenster
      Verzeichnis:Motor
         Datei:12Zyl
         Datei:6Zyl
Verzeichnis:BMW

usw....

Als weiteres kam mir in den Sinn bei einer einzigen Konfigurationsdatei zu bleiben mit folgendem Aufbau:

Audi:A4:Karosserie:parameter1=wert1
Audi:A4:Karosserie:parameter2=wert2
Audi:A4:Karosserie:parameter3=wert3
Audi:A4:Motor:6Zyl:parameter1=wert1
Audi:A4:Motor:6Zyl:parameter2=wert2
Audi:A4:Motor:6Zyl:parameter3=wert3
Audi:A4:Motor:12Zyl:parameter1=wert1
Audi:A4:Motor:12Zyl:parameter2=wert2
Audi:A4:Motor:12Zyl:parameter3=wert3
Audi:A8:Karosserie:parameter1=wert1
Audi:A8:Karosserie:parameter2=wert2
Audi:A8:Karosserie:parameter3=wert3
Audi:A8:Motor:6Zyl:parameter1=wert1
Audi:A8:Motor:6Zyl:parameter2=wert2
Audi:A8:Motor:6Zyl:parameter3=wert3
Audi:A8:Motor:12Zyl:parameter1=wert1
Audi:A8:Motor:12Zyl:parameter2=wert2
Audi:A8:Motor:12Zyl:parameter3=wert3
BMW:3er:Karosserie:parameter1=wert1

usw....

Und genau an diesem Punkt bin ich mit meiner Weisheit am Ende - kommt ja schon mal öfter vor. Jedes Beipiel bring Vor- und Nachteile, aber wie macht man soetwas richtig? Gibt es Standards, an die man sich halten sollte und wenn ja, wie schauen die aus? Oder wie habt Ihr das bis jetzt gemacht?

Wäre super, wenn Ihr mir helfen könntet.

Greez,
opi

--
Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|