Sobes.tech
Junior — Middle

Pode dar um exemplo de quando foi efetuado um rollback ou cancelamento de uma ação anterior num programa ou sistema?

sobes.tech IA

Resposta da IA

Um exemplo de desfazer numa aplicação em C# é o uso do padrão "Comando" com suporte para desfazer (undo). Por exemplo, num editor de texto:

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);
    }
}

Aqui, o método Undo desfaz a ação de inserir texto, restaurando o estado anterior à execução do comando. Este método é frequentemente usado para implementar desfazer em aplicações e sistemas.