Junior — Middle
Μπορείτε να δώσετε ένα παράδειγμα όταν πραγματοποιήθηκε αναστροφή ή ακύρωση μιας προηγούμενης ενέργειας σε ένα πρόγραμμα ή σύστημα;
sobes.tech AI
Απάντηση από AI
Ένα παράδειγμα αναίρεσης σε ένα πρόγραμμα C# είναι η χρήση του μοτίβου "Εντολή" με υποστήριξη για αναίρεση (undo). Για παράδειγμα, σε έναν επεξεργαστή κειμένου:
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);
}
}
Εδώ, η μέθοδος Undo αναιρεί την ενέργεια εισαγωγής κειμένου, αποκαθιστώντας την κατάσταση πριν την εκτέλεση της εντολής. Αυτή η προσέγγιση χρησιμοποιείται συχνά για την υλοποίηση της λειτουργίας αναίρεσης σε εφαρμογές και συστήματα.