Junior — Middle
Tudna példát mondani arra, mikor történt visszagörgetés vagy az előző művelet törlése egy programban vagy rendszerben?
sobes.tech MI
Válasz az MI-től
Egy példa az undo műveletre egy C# programban a "Parancs" minta használata, undo támogatással. Például egy szövegszerkesztőben:
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);
}
}
Itt az Undo metódus visszavonja a szöveg beszúrásának műveletét, és visszaállítja az állapotot a parancs végrehajtása előtt. Ezt a megközelítést gyakran alkalmazzák az alkalmazások és rendszerek visszavonási funkcióinak megvalósítására.