Junior — Middle
Kas saaksite anda näidet, millal ja kuidas süsteemi või komponendi eelmine olek taastatakse?
sobes.tech AI
Vastus AI-lt
Tagasi eelnevale süsteemi või komponendi olekule realiseeritakse sageli "Memento" mustri või transaktsioonides rollback mehhanismide abil.
Näide C#-s — oleku koopiate salvestamine muudatuste tagasi võtmiseks:
class Originator {
public string State { get; set; }
public Memento Save() {
return new Memento(State);
}
public void Restore(Memento memento) {
State = memento.State;
}
}
class Memento {
public string State { get; }
public Memento(string state) {
State = state;
}
}
// Kasutus:
var originator = new Originator();
originator.State = "Seisund 1";
var saved = originator.Save();
originator.State = "Seisund 2";
// Tagasi eelnevale seisundile
originator.Restore(saved);
Console.WriteLine(originator.State); // Kuvab "Seisund 1"
See lähenemine on kasulik, kui on vaja tühistada muudatused või rakendada "undo" funktsiooni.