Ich möchte einen Produktkatalog erstellen, es gibt verschiedene Untergruppen von Produkten, z.B. Autos - Sportwagen, Familienwagen
Alle Autos haben gemeinsame Attribute und die Untergruppen zusätzlich eigene Attribute. Deshalb würde ich aus OOP-Sicht eigentlich zur Vererbung greifen und eine abstrakte Oberklasse erstellen.
Nun sollten im Produktkatalog aber auch alle Produkte angezeigt werden können, im Beispiel sowohl Sportwagen als auch Familienwagen mit all deren Attributen. Ich weiß, welche Attribute die jeweilige Gruppe hat und die Gesamtheit der möglichen Attribute wird sich im Laufe der Zeit nur geringfügig ändern, es sind aber relativ viele (über 50) und bei einer einzelnen Klasse ungefähr zwischen 5 und 15.
Die Daten sollen aus einer relationalen DB (MySQL) gelesen werden.
Nun bin ich mir über den Klassenaufbau unklar, ich könnte eine einzelne Klasse Produkt erstellen und keine Vererbungshierarchie aufbauen und aus dieser Klasse einfach alle Daten aus der DB holen, erscheint mir aber nicht gut.
Wenn ich aber eine Klassenstruktur verwende, dann sehe ich keine Möglichkeit mehr, alle Artikel auszugeben, das ist das größte Problem bei dem Ansatz.
Ich denke aber, dass es dafür eine Lösung gibt, nachdem ich nun mehrere Tage mich mit dem Thema beschäftigt habe, habe ich vermutlich den Überblick verloren, kann mir jemand eine Vorgehensweise empfehlen, über Links o.Ä. freue ich mich.
Weiteres Problem ist der Aufbau der DB, ich dachte anfangs an ein Entitiy-Attribute-Value-Pattern, aber bei der relativ großen Anzahl an Attributen einer einzelnen Klasse möchte ich darauf verzichten.
Habe mich bereits mit Single / Class / Concrete Table Inheritance beschäftig, Class wäre u.U. geeignet, aber müsste erst einmal das OOP-Problem lösen, vielleicht benötige ich noch eine Katalogklasse?
Vielen Dank!
Alle Autos haben gemeinsame Attribute und die Untergruppen zusätzlich eigene Attribute. Deshalb würde ich aus OOP-Sicht eigentlich zur Vererbung greifen und eine abstrakte Oberklasse erstellen.
Nun sollten im Produktkatalog aber auch alle Produkte angezeigt werden können, im Beispiel sowohl Sportwagen als auch Familienwagen mit all deren Attributen. Ich weiß, welche Attribute die jeweilige Gruppe hat und die Gesamtheit der möglichen Attribute wird sich im Laufe der Zeit nur geringfügig ändern, es sind aber relativ viele (über 50) und bei einer einzelnen Klasse ungefähr zwischen 5 und 15.
Die Daten sollen aus einer relationalen DB (MySQL) gelesen werden.
Nun bin ich mir über den Klassenaufbau unklar, ich könnte eine einzelne Klasse Produkt erstellen und keine Vererbungshierarchie aufbauen und aus dieser Klasse einfach alle Daten aus der DB holen, erscheint mir aber nicht gut.
Wenn ich aber eine Klassenstruktur verwende, dann sehe ich keine Möglichkeit mehr, alle Artikel auszugeben, das ist das größte Problem bei dem Ansatz.
Ich denke aber, dass es dafür eine Lösung gibt, nachdem ich nun mehrere Tage mich mit dem Thema beschäftigt habe, habe ich vermutlich den Überblick verloren, kann mir jemand eine Vorgehensweise empfehlen, über Links o.Ä. freue ich mich.
Weiteres Problem ist der Aufbau der DB, ich dachte anfangs an ein Entitiy-Attribute-Value-Pattern, aber bei der relativ großen Anzahl an Attributen einer einzelnen Klasse möchte ich darauf verzichten.
Habe mich bereits mit Single / Class / Concrete Table Inheritance beschäftig, Class wäre u.U. geeignet, aber müsste erst einmal das OOP-Problem lösen, vielleicht benötige ich noch eine Katalogklasse?
Vielen Dank!
Kommentar