Java Core
String-basierte Schlüssel-IDs für spätere Data-Driven Architecture
Obwohl Enums für Status-Typen ideal sind, wird für die Eindeutigkeit (id) von Quests oder Items auf String-Identifikatoren gesetzt. Hintergrund & Best Practice: Wenn Spieledaten (Quests, Items, Dialoge) später aus externen Konfigurationsdateien (z. B. JSON, YAML, XML) geladen werden, müssen neue Einträge hinzugefügt werden können, ohne den Java-Code kompilieren zu müssen. Ein Enum als ID würde eine feste Bindung im Quellcode verlangen, während String-IDs eine dynamische Skalierung über Dateien ermöglichen.
Referenz:
Datei
1. Spielprojekt
· Klasse Quest
public class Quest {
private final String id; // e.g. "welcome_quest" statt einem festen Enum
private final String title;
private final String description;
private Queststatus status;
public Quest(String id, String title, String description) {
this.id = id;
this.title = title;
this.description = description;
this.status = Queststatus.NOT_STARTET;
}
}