Hochregallager

Status
Nicht offen für weitere Antworten.

hbs

Neues Mitglied
Hallo zusammen.

Mein Projekt soll eine Hochregallager-Simulation ergeben.
Ich habe folgendes Problem:

Es gibt Schluchten, eine Schlucht(Klasse) besteht aus je zwei Regalen(Klassen/ArrayList) rechts und links und einem Lift(Klasse/Thread).
Zusätzlich soll aber die benachbarte Schlucht, wenn zwei Regale Rücken-an-Rücken stehen, im Notfall (oder auch ohne, es soll eifach die Möglichkeit geben), ansteuerbar sein.

Befindet sich eine solche Schlucht aber am Rande des Lagers, gibt es diesen sekundären Zugriff natürlich nicht.

Mein Problem besteht nun darin, dass ich nicht weiss wie ich diese Objekte sinnvoll generieren soll. Jetzt schlage ich mich mit dem Factory Method Pattern herum, aber irgendwie komme ich auf keinen grünen Zweig. :bahnhof:

Natürlich könnte das ganze auch Hard-Codiert werden aber das möchte ich irgendwie nicht. Dann bekommt man diese unschönen Switch cases, was ein ja ein Zeichen für schlechte Programmierung ist.


Vielen Dank im voraus.

Gruss hbs
 
S

SlaterB

Gast
wüßte nicht, wie da eine Factory weiterhilft,
wenn du ein switch (oder if) brauchst, um in Reihe 0 eine andere Factory anzusprechen, dann bist du auch nicht besser dran als vorher ;)
 
M

maki

Gast
Das Factory Method Pattern ist unter anderem dazu da, um Objekterzeugung zu Vereinfachen, komplizierte Initialisierungen vor dem Nutzer (Entwickler) zu verbergen.

Eine Möglichkeit wäre, gegen ein Interface zu programmieren, die Factory Methode erstellt dann je nach Bedarf ein Objekt welches dieses Interface definiert.

Wo hängst du denn bzw. was ist deine konkrete Frage? ;)
 

hbs

Neues Mitglied
SlaterB hat gesagt.:
wüßte nicht, wie da eine Factory weiterhilft,
wenn du ein switch (oder if) brauchst, um in Reihe 0 eine andere Factory anzusprechen, dann bist du auch nicht besser dran als vorher ;)

Hmm da hast du wahrscheinlich recht.. Das ganze lebt von statischen Dingen. Komme ich wahrscheinlich nicht drum herum irgendwann zwischen eben diesen Regal "selbst" zu entscheiden.

Damit ist meine Frage eigentlich auch schon beantwortet.
Dankeschön!

Gruss
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben