Klassen/sinvolle Aufteilung



  • Liebe Freunde!
    Hab hier eine Angabe:

    Für eine Bar soll ein Programm zur Unterstützung des Einkaufs Verwendung finden. Es wird eine kleine Anzahl von verschiedenen Spirituosen verwendet, um eine ebenfalls kleine Zahl von festgelegten Drinks herzustellen.Die Rezepte für die Drinks sind bekannt und Änderungen im Angebot sind keine zu erwarten. Das Programm soll folgende Funktionen zur Verfügung stellen: Einkauf (Einkauf von Spirituosen), Verkauf (Verkauf von Drinks), Bestandstest (Ausgabe aller Spirituosen, deren Bestand unter einer vom Benutzer zu definierenden Menge liegt) und Spezialverkauf. Beim Spezialverkauf wird für den Kunden nach Wunsch ein Drink gemixt, der nicht auf der Karte aufgeführt ist.
    Mögliche Klassenkandidaten: Drink, Rezept, Bar .

    Ich tue mich sehr schwer die Aufgabe so zu modellieren dass ich damit ein sinnvolles C++ Programm schreiben kann. Was wäre hier denn eine sinnvolle Aufteilung?

    z.Bsp

     ... Code ... 
    

    class Bar
    {
    void verkauf()
    void einkauf()
    void bestandTest()
    void SpezialVerkauf()
    }
    class Drink
    {

    }
    class Recept
    {
    void recept()
    }

     ... Code ... 
    

    wäre dieser Ansatz ausbaufähig?



  • faustregel:

    • für jedes substantiv eine klasse
    • für jedes zu einem substantiv gehöriges verb eine methode

    substantive: bar, spirituose, drink, rezept, spezialverkauf, zutat
    verben: einkaufen, verkaufen, bestandstest durchführen (oder so)

    das macht man nicht "mal eben so", also stellt es auch kein problem dar, wenn du ein bisschen überlegen musst


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • @wade1234 sagte in Klassen/sinvolle Aufteilung:

    substantive: bar, spirituose, drink, rezept, spezialverkauf, zutat
    verben: einkaufen, verkaufen, bestandstest durchführen (oder so)

    Spezialverkauf ist doch bloß verkaufen eines Drinks nach user-provided Rezept --> class Spezialverkauf unsinnig. Wobei auch Drink und Rezept für diese Anwendung ein und dasselbe sein dürfte.


Anmelden zum Antworten