Sobes.tech
Junior — Middle

¿Puede dar un ejemplo de cuándo se realizó una reversión o cancelación de una acción anterior en un programa o sistema?

sobes.tech AI

Respuesta de la IA

Un ejemplo de deshacer en un programa en C# es el uso del patrón "Comando" con soporte para deshacer (undo). Por ejemplo, en un 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);
    }
}

Aquí, el método Undo deshace la acción de insertar texto, restaurando el estado previo a la ejecución del comando. Este enfoque se usa a menudo para implementar la deshacer en aplicaciones y sistemas.