Hallo,
Hat es Sinn, sich der Sache anzunehmen oder sollte ich dem Auftraggeber meine Erkenntnisse mitteilen und ihn an den Ersteller des Shops verweisen (ich tendiere zu Letzterem)?
Vorsicht, wenn das eine Eigenentwicklung ist, hat die möglicherweise Dein Cheffe selbst geschrieben!!11?
Pack das Ding an oder gib gleich auf. Ich tendiere zu Ersterem. Die Analyse erster Ordnung hast Du ja schon gemacht, der Shop ist sanierungsbedürftig. OOP ist ok, nicht nur der Sache Willen, hier gibt es immer was dazuzulernen. Schau Dir die Klassen an, die es schon gibt und stelle fest, welche Klassenhierarchien möglich sind. Ein Shop muss pflegeleicht sein, hierin liegt viel Dynamik, nicht der Warenkorb ist das Objekt, sondern der Artikel. Der Warenkorb ist eine Sammlung von Objekten, genauso wie wie das "Lager" eine Sammlung von Objekten ist. Schwupps haben wir schon eine der Eigenschaften eines Objekts, nämlich wo es sich befindet oder welchen Status es hat. Weitere Eigenschaften sind der Preis, eine Beschreibung, evntl. ein Foto oder mehrere Fotos... damit kannst Du die Artikel als Angebote präsentieren.
Die erste Klasse, die jetzt gebraucht wird, ist diejenige zur Erstellung eines Artikels als Objekt, hier sind die Methoden beschrieben, wie ein neues Objekt in das "Lager" eingefügt wird. Das "Lager" ist eine DB, hier sind die Eigenschaften abgebildet und gespeichert. Das RDBMS muss selbst nicht objektorientiert sein, das würde jedoch die weitere Hierarchie unterstützen.
Class Store; # Artikel ins Lager einpflegen
Class Store::Presentation; # Artikel veröffentlichen, Methoden zum Warenkorb
Store::Verkauf; # selbsterklärend.... nurmalso als Vorschläge
Eine sinnvolle Hierarchie verbessert die Übersicht, so müssen nicht alle Methoden in einer einzigen Klasse beschrieben sein.
Viel Erfolg,
Hotti