Junior — Middle
Puteți oferi un exemplu când a fost efectuat un rollback sau o anulare a unei acțiuni anterioare într-un program sau sistem?
sobes.tech AI
Răspuns de la AI
Un exemplu de anulare a unei acțiuni într-un program C# este utilizarea pattern-ului "Comandă" cu suport pentru anulare (undo). De exemplu, într-un editor de text:
public interface ICommand
{
void Execute();
void Undo();
}
public class InsertTextCommand : ICommand
{
private StringBuilder _text;
private string _insertedText;
private int _position;
public InsertTextCommand(StringBuilder text, string insertedText, int position)
{
_text = text;
_insertedText = insertedText;
_position = position;
}
public void Execute()
{
_text.Insert(_position, _insertedText);
}
public void Undo()
{
_text.Remove(_position, _insertedText.Length);
}
}
Aici, metoda Undo anulează acțiunea de inserare a textului, restaurând starea înainte de executarea comenzii. Această abordare este frecvent utilizată pentru implementarea funcției de anulare în aplicații și sisteme.