Keller-Dev
Docs
· Java & Hytale
Übersicht
Neuer Eintrag
Eintrag bearbeiten
Titel *
Kategorie *
Java Core
Java OOP
Java Advanced
Plugin-System
Event-System
UI-System
Sonstiges
Erklärung / Inhalt *
Statt freien Schreibzugriff auf Zustände über setStatus() zuzulassen, schützt das Objekt seine eigenen Zustandsübergänge durch explizit benannte Methoden (z. B. start(), complete()). Design-Regeln:Kein öffentlicher Setter: Der interne Status kann von außen nicht direkt überschrieben werden. Validierung vor Änderung: Jede Übergangsmethode prüft, ob der aktuelle Status den Übergang erlaubt. Explizites Fehlschlagen ("Fail-Fast"): Wird ein ungültiger Übergang versucht (z. B. Beenden einer noch nicht gestarteten Quest), wirft die Methode eine IllegalStateException. Dadurch werden Programmier- oder Ablauffehler sofort sichtbar und nicht unbemerkt ignoriert.
Code-Beispiel (optional)
public void start() { if (status != Queststatus.NOT_STARTET) { throw new IllegalStateException( "Quest '" + id + "' kann nicht gestartet werden - aktueller Status: " + status ); } status = Queststatus.ACTIVE; } public void complete() { if (status != Queststatus.ACTIVE) { throw new IllegalStateException( "Quest '" + id + "' kann nicht abgeschlossen werden - aktueller Status: " + status ); } status = Queststatus.COMPLETED; }
Referenz-Datei / Projekt (optional)
Referenz-Klasse / Interface (optional)
Quellen-Link (optional)
Tags (durch Komma getrennt)
Änderungen speichern
Abbrechen