Hallo liebe Forumsgemeinde, ich hab da einige Fragen bezüglich der Architektur bzw. das Nutzen bestimmter Pattern. Ich versuche mich gerade an einem textbasierenden Adventure und versuche gerade eine Engine zu entwickeln. Die Welt soll durch eine Klasse World erzeugt werden. Da nur eine Welt existieren soll, hat der Konstruktur bereits folgende Struktur:
Mit generateWorld() wird dann letztlich die Welt generiert. Wenn mich nicht alles täuscht heißt das Singleton-Pattern. Korrigiert mich bitte, wenn ich mich irre.
Jetzt frage ich mich allerdings, wie ich den Rest gestalten soll. Meine Eingabe soll durch eine Klasse InputHandler verarbeitet werden. Ist es nun sinnvoll die ganze Klasse mit statischen Fabrikmethoden auszustatten, der dann jedes mal die Welt-Instanz erzeugt/zurückgibt? Denn der Handler braucht ja die Information über die Welt.
Der Handler soll das Ganze dann an ein (noch nicht gedanklich entwickeltes) Eventsystem übergeben. Das funktioniert dann vermutlich am Besten über Observer/Observables, die ja bereits über die Bean implementiert sind. Oder?
Ich hoffe ich hab die Architekturen/Strukturen/Pattern jetzt nicht durcheinandergebracht und hoffe ihr könnt mir helfen meine Ideen in ein sinnvollen Gesamtkontext bzw Pattern zu übersetzen. Falls ich mich irgendwie unklar ausgedrückt habe, lasst es mich bitte wissen.
Liebe Grüße fara
Java:
public class World {
private Player player;
private static World world;
private World( String name ) {
this.player = new Player( name );
this.generateWorld();
}
public static synchronized World getInstance( String name )
{
if ( world == null )
world = new World( name );
return world;
}
private void generateWorld() {
}
Jetzt frage ich mich allerdings, wie ich den Rest gestalten soll. Meine Eingabe soll durch eine Klasse InputHandler verarbeitet werden. Ist es nun sinnvoll die ganze Klasse mit statischen Fabrikmethoden auszustatten, der dann jedes mal die Welt-Instanz erzeugt/zurückgibt? Denn der Handler braucht ja die Information über die Welt.
Der Handler soll das Ganze dann an ein (noch nicht gedanklich entwickeltes) Eventsystem übergeben. Das funktioniert dann vermutlich am Besten über Observer/Observables, die ja bereits über die Bean implementiert sind. Oder?
Ich hoffe ich hab die Architekturen/Strukturen/Pattern jetzt nicht durcheinandergebracht und hoffe ihr könnt mir helfen meine Ideen in ein sinnvollen Gesamtkontext bzw Pattern zu übersetzen. Falls ich mich irgendwie unklar ausgedrückt habe, lasst es mich bitte wissen.
Liebe Grüße fara