hallo,
um nochmal auf die aufgabe zurückzukommen.
ich hab erstmal grob ein klassendiagramm erarbeitet und das sieht so aus:
ich hab mir überlegt die lagerelemente und lager die ich erzeuge in den
jeweiligen containerklassen zu verwalten. im lagerelement stehen die
eigenschaften der elemente(mindestanzahl,maximalzahl,....).
wenn ich nun was ein lagern will soll die die entsprechende (eindeutige) id
vom entsprechenden lagerelement und die id vom lager sowie die anzahl
an die entsprechende methode gegeben werden die dann wiederrum die
entsprechende methode im entsprechenden lager(aufgrund der id) mit dem
einlagern aufruft und durch die id vom lagerelementcontainer das
entsprechende lagerelementobjekt bekommt.
müsste ja eigentlich so funktionieren oder?
wenn ich ein lager erzeugen will (erstmal nur ein Festlager)
dann rufe ich die methode auf und übergebe ihr die anzahl
der lagerplätze und die kapazität.
drauf hin werden dann soviel objekte wie lagerplätze vorhanden
sein sollen erzeugt, die Lagerplätze haben die attribute:
int zuordnunug --> damit dort wird die id des lagerelementes eingetragen
int reihe[kapazität] --> es werden also soviel reihen erzeugt wie man an kapazität
zur verfügung hat
ist eine bestimmte reihe belegt wird sie mit 1 gefüllt
ist die reihe leer mit 0
bei diesem beispiel gehen wir einfach mal davon aus das jedes element nur
eine reihe eines lagerplatzes belegt. die verfeinerung kommt später.
aufgrund der zuordnung mit der id kann man jederzeit die weiter daten aus dem element auslesen und kommt jederzeit ran.
wird zum beispiel ein objekt eingelagert wird so verfahren wie grad beschrieben
und wenn das der fall ist, dann wird über den container die entsprechende die
aktuelle zahl der elemente geändert mit einer entsprechenden methode in der klasse lagerelement.
kann man das so machen? mir scheint die lösung erstmal recht gut
allerdings hab ich noch ein problem ich weiß nicht wie ich die das
observer-entwurfsmuster einbauen soll:
in der beschreibung vom beleg ist ja das folgende uml diagramm
verzeichnet
ich nehme an das subjekt soll das lager sein, allerdings steht da das das
subjekt ne unterklasse der klasse beobachtende ist und das wäre ja
dann die klasse lager. aber isses nich besser die beobachter über
die lagerverwaltung zu hinzuzufügen?
danke für eure hilfe