0 Daumen
132 Aufrufe

Frage:

Die Betreibenden eines Webshops wollen das Strategy Pattern nutzen, um verschiedene Strategien zur Berechnung der Gesamtkosten eines Online-Warenkorbs umzusetzen. Konkret gibt
es drei verschiedene Abrechnungsstrategien:

Regulär Die Gesamtkosten werden ganz regulär als Summe aller Einzelkosten berechnet.
Rabatt Auf die Summe aller Einzelkosten werden 20% Rabatt gewährt.
Aktion Wenn mindestens drei Elemente im Warenkorb sind, ist das günstigste davon umsonst,
für alle anderen wird der normale Preis berechnet.

Das Listing 1 zeigt einen Auszug (angedeutet durch [...]) aus der Implementation der Klasse Warenkorb, die in diesem Beispiel als Kontext der Strategie agiert. Der Auszug zeigt, wie die
AbrechnungsStrategie genutzt wird. Es ist nun Ihre Aufgabe, die drei oben genannten Stra-
tegien umzusetzen. Bearbeiten Sie auf dazu die folgende Aufgabe:

a) Zeichnen Sie ein gültiges UML Klassendiagramm, welches die Beziehung der Entitäten
Warenkorb, AbrechnungsStrategie sowie der drei oben genannten Strategien unter-
einander, sowie die jeweils relevanten Felder und Methoden darstellt.


b) Geben Sie gültigen Java-Code für die Umsetzung der drei oben genannten Strategien,
sowie der Entität AbrechnungsStrategie an. Der Code muss zu der in Listing 1 gezeigten
Implementation kompatibel sein.


1 class Warenkorb {
2
3 [...]
4
5 private final AbrechnungsStrategie strategy ;
6
7 public Warenkorb ( AbrechnungsStrategie s) {
8 this. strategy = s;
9 }
10
11 public double berechneGesamtkosten (List <Double > einzelkosten ){
12 return this. strategy . berechne ( einzelkosten );
13 }
14 }

Listing 1: Auszug aus der Klasse Warenkorb


Leider weiß ich nicht genau, wie ich genau ein UML zeichnen kann.. kann mir jemand weiterhelfen? Danke im Voraus

von

Hast du eine ungefähre Vorstellung davon, wie du es machen würdest?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community