Seite 1 von 1

Logikfrage kleines Kassensystem

Verfasst: Montag 16. November 2009, 14:16
von sprudel
Hallo,
ich schreibe derzeit an einem kleinen Kassensystem, habe nun jedoch eine kleine Logikfrage.
Ich möchte selbstverständlich die einzelnen Produkte in Klassen unterteilen, habe also eine Klasse PProduct.

Im Prinzip ist es ja kein Ding dort eine Lokale namens "Amount" reinzumachen, die die Menge enthält. Jedoch möchte ich es auch möglich machen, einzelne Produkte zu rabattieren. Diese sollen dann natürlich getrennt gehandhabt werden. Habt ihr eine Idee wie ich dann die Klasse unterteilen kann? Im Endeffekt wird es im VErkaufsprozess eine Liste namens products[] geben, dort soll dann im Endeffekt einmal ein Eintrag mit Menge 3 und einmal mit Menge 1 z.B. sein.

Irgendeine Idee wie man das unterscheidet?
Hoffe habe es halbwegs verständlich erklärt ;) Nebenbei erwähnt: Keine Unterrichtsaufgabe, dort lernen wir nur das schreckliche C# und dort derzeit Aufgaben im Niveau von Taschenrechnern.

LG Chris

Verfasst: Montag 16. November 2009, 14:32
von Pekh
Naja, in meinen Augen kann ein Apfel keine Menge haben. Wenn ich eine Kiste von Äpfeln simulieren will, würde ich das auch so modellieren: Ein Container (z.B. eine Liste) von Exemplaren der Klasse Apfel. Die Länge der Liste wäre dann die vorhandene Menge. Zwei Sorten Äpfel wären dann zwei Listen.

Alternativ: Exemplar einer Klasse Produkt mit Name "Apfel Sorte 1". Dann das Exemplar als Schlüssel in ein Dictionary und als Wert die vorhandene Menge. Das kommt dann wahrscheinlich eher an die Bedürfnisse einer Warenwirtschaft heran.

Verfasst: Montag 16. November 2009, 14:55
von Hyperion
Also die Frage ist ja, was ein Produkt ausmacht! Ist das eben ein Apfel / Waschmaschine / ein Reiskorn, oder soll da auch schon mit Mengen gearbeitet werden?

Ich würde mich für erstes entscheiden und dann eine Art Wrapper-Klasse "Artikel" implementieren, die Mengen und Zusammenstellungen von Produkten ermöglicht (1xApfel, 2xBirnen, 2xBananen = "Fruchtkiste 'Gesundbrunnen'").

Dazu gehört dann wiederum eine Art Einkaufskorb, in dem jedem Artikel eine Menge zugewiesen wird. (3x "Fruchtkiste 'Gesundbrunnen'", 2x...). Bezüglich des Einkauskorbes könnte man dann noch Regeln implementieren, die ab einer Anzahl Artikel Rabatte ermöglicht usw., entweder global oder für jeden Artikel im Korb separat.

Im Prinzip alles eine Frage der Komplexität. Wie fein will man abbilden?

Ich denke Gerold könnte Dir da Tipps geben; afaik ist der odch Spezialist für Kassensysteme :-)

Verfasst: Montag 16. November 2009, 15:03
von mkesper
Gerold hat mal einige Tipps zum Thema Warenwirtschaft hier im Forum niedergeschrieben. Das Thema ist durch die vielen Sonderfälle leider alles andere als trivial.

Verfasst: Montag 16. November 2009, 16:16
von derdon
Pekh hat geschrieben:Zwei Sorten Äpfel wären dann zwei Listen.
Oder eine Unterklasse (sagt man das so?) von Apple, z.B. Macintosh ;)