अनडू (पूर्ववत): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Computer command}}
{{Short description|Computer command}}
Undo एक इंटरेक्शन तकनीक है जिसे कई कंप्यूटर प्रोग्राम में लागू किया जाता है। यह दस्तावेज़ में किए गए अंतिम परिवर्तन को मिटा देता है, इसे पुरानी स्थिति में वापस लाता है। कुछ और उन्नत प्रोग्रामों में, जैसे कि [[ग्राफिक्स सॉफ्टवेयर]], पूर्ववत करें संपादित की जा रही फ़ाइल पर की गई अंतिम कमांड को नकार देगा। पूर्ववत करने की संभावना के साथ, उपयोगकर्ता गलती करने के डर के बिना अन्वेषण और कार्य कर सकते हैं, क्योंकि उन्हें आसानी से पूर्ववत किया जा सकता है।
अनडू इंटरेक्शन तकनीक है जिसे कई कंप्यूटर प्रोग्राम में स्थापित किया जाता है। यह प्रपत्र में किए गए अंतिम परिवर्तन को मिटा देता है, और  इसे पुरानी स्थिति में पुनः लाता है। कुछ और उन्नत प्रोग्रामों में, जैसे कि [[ग्राफिक्स सॉफ्टवेयर]], अनडू करें संपादित की जा रही फ़ाइल पर की गई अंतिम कमांड को नहीं लेता है। अनडू करने की संभावना के साथ, उपयोगकर्ता त्रुटि के डर के बिना अन्वेषण और कार्य कर सकते हैं, क्योंकि उन्हें सरलता से अनडू किया जा सकता है।


पूर्ववत करने की अपेक्षाओं को समझना आसान है: पूर्वानुमेय कार्यक्षमता के लिए, और सभी पूर्ववत आदेशों को शामिल करने के लिए।<ref name=":0">{{Cite journal|last=Berlage|first=Thomas|date=1994-09-01|title=कमांड ऑब्जेक्ट्स के आधार पर ग्राफिकल यूजर इंटरफेस के लिए एक चयनात्मक पूर्ववत तंत्र|journal=ACM Transactions on Computer-Human Interaction|volume=1|issue=3|pages=269–294|doi=10.1145/196699.196721|s2cid=11848679|issn=1073-0516}}</ref> आमतौर पर पूर्ववत तब तक उपलब्ध होता है जब तक कि उपयोगकर्ता सभी निष्पादित कार्यों को पूर्ववत नहीं कर देता। लेकिन कुछ क्रियाएं ऐसी हैं जो पूर्ववत सूची में संग्रहीत नहीं हैं, और इस प्रकार उन्हें पूर्ववत नहीं किया जा सकता है। उदाहरण के लिए, फ़ाइल को सहेजना पूर्ववत नहीं है, लेकिन सूची में कतारबद्ध है यह दिखाने के लिए कि इसे निष्पादित किया गया था। एक अन्य क्रिया जो आमतौर पर संग्रहीत नहीं होती है, और इस प्रकार पूर्ववत नहीं होती है, स्क्रॉलिंग या चयन है।<ref>{{Cite book|last1=Myers|first1=Brad A.|last2=Kosbie|first2=David S.|date=1996-04-13|title=पुन: प्रयोज्य पदानुक्रमित कमांड ऑब्जेक्ट|publisher=ACM|pages=[https://archive.org/details/commongroundchi900chi9/page/260 260–267]|doi=10.1145/238386.238526|isbn=0897917774|s2cid=17033810|url=https://archive.org/details/commongroundchi900chi9/page/260}}</ref>
अनडू करने की अपेक्षाओं को समझना सरल है: पूर्वानुमेय कार्यक्षमता के लिए, और सभी अनडू आदेशों को सम्मलित करने के लिए।<ref name=":0">{{Cite journal|last=Berlage|first=Thomas|date=1994-09-01|title=कमांड ऑब्जेक्ट्स के आधार पर ग्राफिकल यूजर इंटरफेस के लिए एक चयनात्मक पूर्ववत तंत्र|journal=ACM Transactions on Computer-Human Interaction|volume=1|issue=3|pages=269–294|doi=10.1145/196699.196721|s2cid=11848679|issn=1073-0516}}</ref> आमतौर पर अनडू तब तक उपलब्ध होता है जब तक कि उपयोगकर्ता सभी निष्पादित कार्यों को अनडू नहीं कर देता। लेकिन कुछ क्रियाएं ऐसी हैं जो अनडू सूची में संग्रहीत नहीं हैं, और इस प्रकार उन्हें अनडू नहीं किया जा सकता है। उदाहरण के लिए, फ़ाइल को सहेजना अनडू नहीं है, लेकिन सूची में कतारबद्ध है यह दिखाने के लिए कि इसे निष्पादित किया गया था। एक अन्य क्रिया जो आमतौर पर संग्रहीत नहीं होती है, और इस प्रकार अनडू नहीं होती है, स्क्रॉलिंग या चयन है।<ref>{{Cite book|last1=Myers|first1=Brad A.|last2=Kosbie|first2=David S.|date=1996-04-13|title=पुन: प्रयोज्य पदानुक्रमित कमांड ऑब्जेक्ट|publisher=ACM|pages=[https://archive.org/details/commongroundchi900chi9/page/260 260–267]|doi=10.1145/238386.238526|isbn=0897917774|s2cid=17033810|url=https://archive.org/details/commongroundchi900chi9/page/260}}</ref>
अनडू का विपरीत रिडू होता है। रीडो कमांड पूर्ववत को उलट देता है या बफर को एक और हालिया स्थिति में आगे बढ़ाता है।
अनडू का विपरीत रिडू होता है। रीडो कमांड अनडू को उलट देता है या बफर को एक और हालिया स्थिति में आगे बढ़ाता है।


पूर्ववत कार्यक्षमता के सामान्य घटक वे आदेश हैं जो उपयोगकर्ता द्वारा निष्पादित किए गए थे, इतिहास बफ़र जो पूर्ण किए गए कार्यों को संग्रहीत करता है, इतिहास बफ़र को नियंत्रित करने के लिए पूर्ववत/फिर से करें प्रबंधक, और उपयोगकर्ता के साथ इंटरैक्ट करने के लिए उपयोगकर्ता इंटरफ़ेस।<ref name=":1">{{Cite journal|last1=Jakubec|first1=Karel|last2=Polák|first2=Marek|last3=Nečaský|first3=Martin|last4=Holubová|first4=Irena|date=2014|title=Undo/Redo Operations in Complex Environments|journal=Procedia Computer Science|volume=32|pages=561–570|doi=10.1016/j.procs.2014.05.461|issn=1877-0509|doi-access=free}}</ref>
अनडू कार्यक्षमता के सामान्य घटक वे आदेश हैं जो उपयोगकर्ता द्वारा निष्पादित किए गए थे, इतिहास बफ़र जो पूर्ण किए गए कार्यों को संग्रहीत करता है, इतिहास बफ़र को नियंत्रित करने के लिए अनडू/फिर से करें प्रबंधक, और उपयोगकर्ता के साथ इंटरैक्ट करने के लिए उपयोगकर्ता इंटरफ़ेस।<ref name=":1">{{Cite journal|last1=Jakubec|first1=Karel|last2=Polák|first2=Marek|last3=Nečaský|first3=Martin|last4=Holubová|first4=Irena|date=2014|title=Undo/Redo Operations in Complex Environments|journal=Procedia Computer Science|volume=32|pages=561–570|doi=10.1016/j.procs.2014.05.461|issn=1877-0509|doi-access=free}}</ref>
अधिकांश [[Microsoft Windows]] अनुप्रयोगों में, पूर्ववत [[ कमान कुंजी ]] लिए [[ कुंजीपटल संक्षिप्त रीति ]] [[Control-Z]]|Ctrl+Z या Alt+Backspace है, और फिर से करने के लिए शॉर्टकट [[Control-Y]]|Ctrl+Y या [[Control key]]+[[Shift key]]+Z है।
अधिकांश [[Microsoft Windows]] अनुप्रयोगों में, अनडू [[ कमान कुंजी ]] लिए [[ कुंजीपटल संक्षिप्त रीति ]] [[Control-Z]]|Ctrl+Z या Alt+Backspace है, और फिर से करने के लिए शॉर्टकट [[Control-Y]]|Ctrl+Y या [[Control key]]+[[Shift key]]+Z है।


अधिकांश [[Apple macintosh]] अनुप्रयोगों में, अनडू कमांड का शॉर्टकट कमांड की-जेड है, और रीडो के लिए शॉर्टकट कमांड की-शिफ्ट की-जेड है।
अधिकांश [[Apple macintosh]] अनुप्रयोगों में, अनडू कमांड का शॉर्टकट कमांड की-जेड है, और रीडो के लिए शॉर्टकट कमांड की-शिफ्ट की-जेड है।


सभी प्लेटफॉर्म पर, पूर्ववत/फिर से करें कार्यों को [[संपादन मेनू]] के माध्यम से भी एक्सेस किया जा सकता है।
सभी प्लेटफॉर्म पर, अनडू/फिर से करें कार्यों को [[संपादन मेनू]] के माध्यम से भी एक्सेस किया जा सकता है।


== इतिहास ==
== इतिहास ==
लोगों द्वारा कंप्यूटर का उपयोग करने के तरीके के जवाब में कंप्यूटर पर किसी ऑपरेशन को पूर्ववत करने की क्षमता का स्वतंत्र रूप से कई बार आविष्कार किया गया था।<ref>{{cite thesis|last=Moran|first=Chuktropolis Welling|title=इंटरएक्टिव समय|date=2013-01-01|url=http://roger.ucsd.edu/record=b7759913~S9|type=Ph.D.|publisher=University of California, San Diego|isbn=9781303194450|location=La Jolla}}</ref>
लोगों द्वारा कंप्यूटर का उपयोग करने के तरीके के जवाब में कंप्यूटर पर किसी ऑपरेशन को अनडू करने की क्षमता का स्वतंत्र रूप से कई बार आविष्कार किया गया था।<ref>{{cite thesis|last=Moran|first=Chuktropolis Welling|title=इंटरएक्टिव समय|date=2013-01-01|url=http://roger.ucsd.edu/record=b7759913~S9|type=Ph.D.|publisher=University of California, San Diego|isbn=9781303194450|location=La Jolla}}</ref>
[[ ब्राउन विश्वविद्यालय ]] में 1968 में शुरू हुई [[ फ़ाइल पुनर्प्राप्ति और संपादन प्रणाली ]] के बारे में कहा जाता है कि यह पहली कंप्यूटर-आधारित प्रणाली है, जिसमें अनडू फीचर है।<ref>{{Cite book|url=https://books.google.com/books?id=N1qWBQAAQBAJ|title=Memory Machines: The Evolution of Hypertext|last=Barnet|first=Belinda|date=2014-12-01|quote=But the most popular development for novice users in FRESS was not its capacity to accommodate multiple displays and users; it was the 'undo' feature – the feature of which van Dam is most proud (van Dam 2011). FRESS pioneered a single-level undo for both word processing and hypertext. Every edit to a file was saved in a shadow version of the data structure, which allowed for both an 'autosave' and an undo. Brown staff and students understood immediately the importance and usefulness of this feature (van Dam 1999).|publisher=Anthem Press|isbn=9781783083442|page=108|language=en}}</ref><ref name="barnet">{{Cite journal|last=Barnet|first=Belinda|date=2010-01-01|title=Crafting the User-Centered Document Interface: The Hypertext Editing System (HES) and the File Retrieval and Editing System (FRESS)|journal=Digital Humanities Quarterly|url=http://www.digitalhumanities.org/dhq/vol/4/1/000081/000081.html|volume=4|issue=1}}</ref>
[[ ब्राउन विश्वविद्यालय ]] में 1968 में शुरू हुई [[ फ़ाइल पुनर्प्राप्ति और संपादन प्रणाली ]] के बारे में कहा जाता है कि यह पहली कंप्यूटर-आधारित प्रणाली है, जिसमें अनडू फीचर है।<ref>{{Cite book|url=https://books.google.com/books?id=N1qWBQAAQBAJ|title=Memory Machines: The Evolution of Hypertext|last=Barnet|first=Belinda|date=2014-12-01|quote=But the most popular development for novice users in FRESS was not its capacity to accommodate multiple displays and users; it was the 'undo' feature – the feature of which van Dam is most proud (van Dam 2011). FRESS pioneered a single-level undo for both word processing and hypertext. Every edit to a file was saved in a shadow version of the data structure, which allowed for both an 'autosave' and an undo. Brown staff and students understood immediately the importance and usefulness of this feature (van Dam 1999).|publisher=Anthem Press|isbn=9781783083442|page=108|language=en}}</ref><ref name="barnet">{{Cite journal|last=Barnet|first=Belinda|date=2010-01-01|title=Crafting the User-Centered Document Interface: The Hypertext Editing System (HES) and the File Retrieval and Editing System (FRESS)|journal=Digital Humanities Quarterly|url=http://www.digitalhumanities.org/dhq/vol/4/1/000081/000081.html|volume=4|issue=1}}</ref>
[[वारेन टिटेलमैन]] ने 1971 तक पूर्ववत कार्य के साथ BBN-LISP के भाग के रूप में एक प्रोग्रामर सहायक विकसित किया।<ref>{{Cite journal|last=Teitelman|first=Warren|date=1972-01-01|title=Automated Programmering: The Programmer's Assistant|journal=Proceedings of the December 5–7, 1972, Fall Joint Computer Conference, Part II|series=AFIPS '72 (Fall, part II)|location=New York, NY, USA|publisher=ACM|pages=917–921|doi=10.1145/1480083.1480119|s2cid=1276566}}</ref>
[[वारेन टिटेलमैन]] ने 1971 तक अनडू कार्य के साथ BBN-LISP के भाग के रूप में एक प्रोग्रामर सहायक विकसित किया।<ref>{{Cite journal|last=Teitelman|first=Warren|date=1972-01-01|title=Automated Programmering: The Programmer's Assistant|journal=Proceedings of the December 5–7, 1972, Fall Joint Computer Conference, Part II|series=AFIPS '72 (Fall, part II)|location=New York, NY, USA|publisher=ACM|pages=917–921|doi=10.1145/1480083.1480119|s2cid=1276566}}</ref>
[[ज़ेरॉक्स PARC]] [[ब्रावो (सॉफ्टवेयर)]] टेक्स्ट एडिटर के पास 1974 में एक अनडू कमांड था।<ref>{{cite web|title=Bravo Manual in Alto Non-Programmers Guide, p. 52 |url=http://history-computer.com/Library/AltoUsersHandbook.pdf |access-date=2014-03-29}}</ref> [[आईबीएम]] के लांस ए. मिलर और जॉन सी. थॉमस की 1976 की एक शोध रिपोर्ट, इंटरएक्टिव सिस्टम के उपयोग में व्यवहारिक मुद्दे,<ref>{{Cite journal|last1=Miller|first1=Lance A.|last2=Thomas|first2=John C.|date=1977-09-01|title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे|journal=International Journal of Man-Machine Studies|volume=9|issue=5|pages=509–536|doi=10.1016/S0020-7373(77)80002-3|issn=0020-7373}}</ref> नोट किया गया कि यह उपयोगकर्ताओं को कम से कम तत्काल पूर्ववर्ती आदेश (कुछ विशेष 'पूर्ववत करें' आदेश जारी करके) 'वापस लेने' की अनुमति देने के लिए काफी उपयोगी होगा।<ref>{{cite web | last=Miller | first=Lance A. |author2=John C. Thomas Jr.  | title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे| date=December 1976 | url=http://handle.dtic.mil/100.2/ADA043033 | archive-url=https://web.archive.org/web/20120527163155/http://handle.dtic.mil/100.2/ADA043033 | url-status=dead | archive-date=May 27, 2012 | format=PDF | access-date=2011-05-21}}</ref> PARC (कंपनी) अनुसंधान केंद्र के प्रोग्रामरों ने कीबोर्ड शॉर्टकट Ctrl-Z को पूर्ववत आदेश दिया, जो व्यक्तिगत कंप्यूटर युग में पाठ संपादकों और वर्ड प्रोसेसर की एक महत्वपूर्ण विशेषता बन गई।<ref name="BenZimmer_2009">{{cite web | url=https://www.nytimes.com/2009/09/20/magazine/20FOB-onlanguage-t.html | title=पूर्ववत करने का युग| access-date=2013-06-02 | author=Ben Zimmer | date=2009-09-15 | work=New York Times}</ref> 1980 में, ज़ेरॉक्स PARC के [[लैरी टेस्लर]] ने Apple कंप्यूटर में काम करना शुरू किया। वहाँ, उन्होंने और [[बिल एटकिंसन]] ने Apple लिसा पर एक मानक स्थिरता के रूप में एक पूर्ववत आदेश की उपस्थिति की वकालत की। एटकिन्सन लिसा के एप्लिकेशन सॉफ़्टवेयर के व्यक्तिगत डेवलपर्स को पूर्ववत और फिर से करने के एकल स्तर को शामिल करने में सक्षम था, लेकिन कई स्तरों के लिए पैरवी करने में असफल रहा।{{Citation needed|date=October 2018}} जब Apple ने लिसा के उत्तराधिकारी, [[Macintosh]] को पेश किया, तो यह निर्धारित किया गया कि सभी मानक अनुप्रयोगों में "संपादन" मेनू में पहले आदेश के रूप में "पूर्ववत करें" शामिल होना चाहिए,<ref>{{cite book | title=मैकिंटोश के अंदर, खंड I| last=Apple Computer, Inc. | date=1984 | chapter=User Interface}}</ref> जो आज तक [[macOS]] और [[Windows]] पर मानक बना हुआ है।
[[ज़ेरॉक्स PARC]] [[ब्रावो (सॉफ्टवेयर)]] टेक्स्ट एडिटर के पास 1974 में एक अनडू कमांड था।<ref>{{cite web|title=Bravo Manual in Alto Non-Programmers Guide, p. 52 |url=http://history-computer.com/Library/AltoUsersHandbook.pdf |access-date=2014-03-29}}</ref> [[आईबीएम]] के लांस ए. मिलर और जॉन सी. थॉमस की 1976 की एक शोध रिपोर्ट, इंटरएक्टिव सिस्टम के उपयोग में व्यवहारिक मुद्दे,<ref>{{Cite journal|last1=Miller|first1=Lance A.|last2=Thomas|first2=John C.|date=1977-09-01|title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे|journal=International Journal of Man-Machine Studies|volume=9|issue=5|pages=509–536|doi=10.1016/S0020-7373(77)80002-3|issn=0020-7373}}</ref> नोट किया गया कि यह उपयोगकर्ताओं को कम से कम तत्काल पूर्ववर्ती आदेश (कुछ विशेष 'अनडू करें' आदेश जारी करके) 'वापस लेने' की अनुमति देने के लिए काफी उपयोगी होगा।<ref>{{cite web | last=Miller | first=Lance A. |author2=John C. Thomas Jr.  | title=इंटरएक्टिव सिस्टम के उपयोग में व्यवहार संबंधी मुद्दे| date=December 1976 | url=http://handle.dtic.mil/100.2/ADA043033 | archive-url=https://web.archive.org/web/20120527163155/http://handle.dtic.mil/100.2/ADA043033 | url-status=dead | archive-date=May 27, 2012 | format=PDF | access-date=2011-05-21}}</ref> PARC (कंपनी) अनुसंधान केंद्र के प्रोग्रामरों ने कीबोर्ड शॉर्टकट Ctrl-Z को अनडू आदेश दिया, जो व्यक्तिगत कंप्यूटर युग में पाठ संपादकों और वर्ड प्रोसेसर की एक महत्वपूर्ण विशेषता बन गई।<ref name="BenZimmer_2009">{{cite web | url=https://www.nytimes.com/2009/09/20/magazine/20FOB-onlanguage-t.html | title=पूर्ववत करने का युग| access-date=2013-06-02 | author=Ben Zimmer | date=2009-09-15 | work=New York Times}</ref> 1980 में, ज़ेरॉक्स PARC के [[लैरी टेस्लर]] ने Apple कंप्यूटर में काम करना शुरू किया। वहाँ, उन्होंने और [[बिल एटकिंसन]] ने Apple लिसा पर एक मानक स्थिरता के रूप में एक अनडू आदेश की उपस्थिति की वकालत की। एटकिन्सन लिसा के एप्लिकेशन सॉफ़्टवेयर के व्यक्तिगत डेवलपर्स को अनडू और फिर से करने के एकल स्तर को सम्मलित करने में सक्षम था, लेकिन कई स्तरों के लिए पैरवी करने में असफल रहा।{{Citation needed|date=October 2018}} जब Apple ने लिसा के उत्तराधिकारी, [[Macintosh]] को पेश किया, तो यह निर्धारित किया गया कि सभी मानक अनुप्रयोगों में "संपादन" मेनू में पहले आदेश के रूप में "अनडू करें" सम्मलित होना चाहिए,<ref>{{cite book | title=मैकिंटोश के अंदर, खंड I| last=Apple Computer, Inc. | date=1984 | chapter=User Interface}}</ref> जो आज तक [[macOS]] और [[Windows]] पर मानक बना हुआ है।


बहु-स्तरीय पूर्ववत आदेश 1980 के दशक में पेश किए गए थे, जिससे उपयोगकर्ता न केवल सबसे हालिया बल्कि कई कार्यों को वापस ले सकते थे।<ref name="BenZimmer_2009"/>व्यक्तिगत कंप्यूटर सॉफ़्टवेयर से पहले [[EMACS]] और अन्य टाइमशेयर स्क्रीन संपादकों के पास यह था। [[सिग्नस एड]] पहला अमीगा पाठ संपादक था जिसमें असीमित पूर्ववत / फिर से सुविधा थी। [[AtariWriter]], 1982 में पेश किया गया एक वर्ड-प्रोसेसिंग एप्लिकेशन, पूर्ववत चित्रित किया गया। NewWord, 1984 में NewStar द्वारा जारी किया गया एक अन्य वर्ड-प्रोसेसिंग प्रोग्राम था, जिसमें एक अनरेज़ कमांड था।<ref name="BenZimmer_2009"/>IBM के VisiWord के पास एक अनडिलीट कमांड भी था।
बहु-स्तरीय अनडू आदेश 1980 के दशक में पेश किए गए थे, जिससे उपयोगकर्ता न केवल सबसे हालिया बल्कि कई कार्यों को वापस ले सकते थे।<ref name="BenZimmer_2009"/>व्यक्तिगत कंप्यूटर सॉफ़्टवेयर से पहले [[EMACS]] और अन्य टाइमशेयर स्क्रीन संपादकों के पास यह था। [[सिग्नस एड]] पहला अमीगा पाठ संपादक था जिसमें असीमित अनडू / फिर से सुविधा थी। [[AtariWriter]], 1982 में पेश किया गया एक वर्ड-प्रोसेसिंग एप्लिकेशन, अनडू चित्रित किया गया। NewWord, 1984 में NewStar द्वारा जारी किया गया एक अन्य वर्ड-प्रोसेसिंग प्रोग्राम था, जिसमें एक अनरेज़ कमांड था।<ref name="BenZimmer_2009"/>IBM के VisiWord के पास एक अनडिलीट कमांड भी था।


== मॉडल पूर्ववत करें और फिर से करें ==
== मॉडल अनडू करें और फिर से करें ==
पूर्ववत मॉडल को रैखिक या गैर-रैखिक के रूप में वर्गीकृत किया जा सकता है। गैर-रैखिक पूर्ववत मॉडल को स्क्रिप्ट मॉडल, यूएस के मॉडल, ट्रायडिक मॉडल और चयनात्मक पूर्ववत में उप-वर्गीकृत किया जा सकता है।<ref name=":0" />
अनडू मॉडल को रैखिक या गैर-रैखिक के रूप में वर्गीकृत किया जा सकता है। गैर-रैखिक अनडू मॉडल को स्क्रिप्ट मॉडल, यूएस के मॉडल, ट्रायडिक मॉडल और चयनात्मक अनडू में उप-वर्गीकृत किया जा सकता है।<ref name=":0" />


मॉडल के कुछ सामान्य गुण हैं:
मॉडल के कुछ सामान्य गुण हैं:


* स्थिर निष्पादन संपत्ति: एक राज्य को आदेशों की एक आदेशित सूची के रूप में दर्शाया गया है। इसका मतलब यह है कि मूल निष्पादन के बाद जिस स्थिति में पहुंचा था, उस राज्य में एक आदेश हमेशा पूर्ववत किया जाता है।<ref name=":1" />* कमजोर स्थिर निष्पादन: इसका मतलब यह है कि यदि पूर्ववत निष्पादित किया जाता है तो सभी आदेश जो पूर्ववत आदेश पर निर्भर करते हैं, आदेश पर निर्भर पूर्ववत होते हैं।
* स्थिर निष्पादन संपत्ति: एक राज्य को आदेशों की एक आदेशित सूची के रूप में दर्शाया गया है। इसका मतलब यह है कि मूल निष्पादन के बाद जिस स्थिति में पहुंचा था, उस राज्य में एक आदेश हमेशा अनडू किया जाता है।<ref name=":1" />* कमजोर स्थिर निष्पादन: इसका मतलब यह है कि यदि अनडू निष्पादित किया जाता है तो सभी आदेश जो अनडू आदेश पर निर्भर करते हैं, आदेश पर निर्भर अनडू होते हैं।
* स्थिर परिणाम संपत्ति: सूची को छोड़कर इस संपत्ति का अर्थ स्थिर निष्पादन संपत्ति के समान है। आदेशों की आदेशित सूची में शामिल है कि उन्हें केवल आदेशों के बजाय निष्पादित किया गया था।
* स्थिर परिणाम संपत्ति: सूची को छोड़कर इस संपत्ति का अर्थ स्थिर निष्पादन संपत्ति के समान है। आदेशों की आदेशित सूची में सम्मलित है कि उन्हें केवल आदेशों के बजाय निष्पादित किया गया था।
* क्रमविनिमेय: इसका मतलब है कि दो अलग-अलग आदेशों को पूर्ववत और फिर से करने के बाद पहुंची हुई स्थिति समान होती है जब उन्हें विपरीत क्रम में निष्पादित किया जाता है।
* क्रमविनिमेय: इसका मतलब है कि दो अलग-अलग आदेशों को अनडू और फिर से करने के बाद पहुंची हुई स्थिति समान होती है जब उन्हें विपरीत क्रम में निष्पादित किया जाता है।
* न्यूनतर पूर्ववत गुण: यह वर्णन करता है कि कमांड C का पूर्ववत संचालन केवल कमांड C को पूर्ववत करता है और C से छोटे सभी आदेश जो C पर निर्भर हैं।<ref name=":1" />
* न्यूनतर अनडू गुण: यह वर्णन करता है कि कमांड C का अनडू संचालन केवल कमांड C को अनडू करता है और C से छोटे सभी आदेश जो C पर निर्भर हैं।<ref name=":1" />






=== रैखिक पूर्ववत करें ===
=== रैखिक अनडू करें ===
रैखिक पूर्ववत एक स्टैक (डेटा संरचना) (आखिरी में पहले बाहर (एलआईएफओ) डेटा संरचना) के साथ कार्यान्वित किया जाता है जो सभी निष्पादित आदेशों का इतिहास संग्रहीत करता है। जब कोई नया आदेश निष्पादित किया जाता है तो इसे स्टैक के शीर्ष पर जोड़ दिया जाता है। इसलिए, केवल अंतिम निष्पादित कमांड को पूर्ववत किया जा सकता है और इतिहास से हटाया जा सकता है। पूर्ववत तब तक दोहराया जा सकता है जब तक कि इतिहास खाली न हो।<ref name=":0" />
रैखिक अनडू एक स्टैक (डेटा संरचना) (आखिरी में पहले बाहर (एलआईएफओ) डेटा संरचना) के साथ कार्यान्वित किया जाता है जो सभी निष्पादित आदेशों का इतिहास संग्रहीत करता है। जब कोई नया आदेश निष्पादित किया जाता है तो इसे स्टैक के शीर्ष पर जोड़ दिया जाता है। इसलिए, केवल अंतिम निष्पादित कमांड को अनडू किया जा सकता है और इतिहास से हटाया जा सकता है। अनडू तब तक दोहराया जा सकता है जब तक कि इतिहास खाली न हो।<ref name=":0" />






==== प्रतिबंधित रैखिक मॉडल ====
==== प्रतिबंधित रैखिक मॉडल ====
प्रतिबंधित रेखीय मॉडल रेखीय पूर्ववत मॉडल का एक संवर्द्धन है। यह रैखिक पूर्ववत करने के लिए ऊपर वर्णित स्थिर निष्पादन संपत्ति को संतुष्ट करता है, क्योंकि यह मॉडल संपत्ति को नहीं रखता है यदि कोई आदेश किया जाता है जबकि इतिहास सूची में अन्य आदेश शामिल होते हैं। नया आदेश जोड़ने से पहले प्रतिबंधित रेखीय मॉडल इतिहास सूची को साफ़ करता है। लेकिन अन्य प्रतिबंध भी उपलब्ध हैं। उदाहरण के लिए, इतिहास सूची का आकार प्रतिबंधित किया जा सकता है या जब एक परिभाषित आकार तक पहुँच जाता है, तो पहले निष्पादित कमांड को सूची से हटा दिया जाता है।<ref name=":0" />
प्रतिबंधित रेखीय मॉडल रेखीय अनडू मॉडल का एक संवर्द्धन है। यह रैखिक अनडू करने के लिए ऊपर वर्णित स्थिर निष्पादन संपत्ति को संतुष्ट करता है, क्योंकि यह मॉडल संपत्ति को नहीं रखता है यदि कोई आदेश किया जाता है जबकि इतिहास सूची में अन्य आदेश सम्मलित होते हैं। नया आदेश जोड़ने से पहले प्रतिबंधित रेखीय मॉडल इतिहास सूची को साफ़ करता है। लेकिन अन्य प्रतिबंध भी उपलब्ध हैं। उदाहरण के लिए, इतिहास सूची का आकार प्रतिबंधित किया जा सकता है या जब एक परिभाषित आकार तक पहुँच जाता है, तो पहले निष्पादित कमांड को सूची से हटा दिया जाता है।<ref name=":0" />




=== गैर रेखीय पूर्ववत ===
=== गैर रेखीय अनडू ===
रैखिक पूर्ववत और गैर-रैखिक पूर्ववत के बीच मुख्य अंतर यह है कि उपयोगकर्ता द्वारा निष्पादित आदेशों को मनमाने क्रम में पूर्ववत करने की संभावना है। उनके पास सबसे हालिया आदेश को पूर्ववत करने का मौका नहीं है बल्कि सूची से एक आदेश का चयन करने का मौका है।<ref name=":1" />गैर रेखीय मॉडल के लिए उपवर्ग हैं जो इस मॉडल को लागू करते हैं।
रैखिक अनडू और गैर-रैखिक अनडू के बीच मुख्य अंतर यह है कि उपयोगकर्ता द्वारा निष्पादित आदेशों को मनमाने क्रम में अनडू करने की संभावना है। उनके पास सबसे हालिया आदेश को अनडू करने का मौका नहीं है बल्कि सूची से एक आदेश का चयन करने का मौका है।<ref name=":1" />गैर रेखीय मॉडल के लिए उपवर्ग हैं जो इस मॉडल को लागू करते हैं।


==== स्क्रिप्ट मॉडल ====
==== स्क्रिप्ट मॉडल ====
स्क्रिप्ट मॉडल उपयोगकर्ता क्रियाओं को कमांड की स्क्रिप्ट संपादित करने के रूप में संभालता है। निष्पादित आदेशों की इतिहास सूची को एक स्क्रिप्ट के रूप में व्याख्या की जाती है, एक पूर्ववत प्रभाव को उसी तरह परिभाषित किया जाता है जैसे कि पूर्ववत कार्रवाई पहले कभी नहीं हुई थी।<ref name=":0" />राज्य को पूर्ववत करने के परिणाम के रूप में ऐसा होना चाहिए जैसे कि पूर्ववत आदेश को कभी निष्पादित नहीं किया गया था। इस मॉडल का एक नुकसान यह है कि साइड इफेक्ट से बचने के लिए उपयोगकर्ता को पूर्ववत आदेश और वर्तमान स्थिति के बीच संबंध को जानना होगा। इनमें से एक उदाहरण के लिए दोहराव हो सकता है। अन्य समस्याएँ यह हैं कि यदि बाद के आदेशों को एक अलग स्थिति में फिर से किया जाता है कि वे मूल रूप से प्रत्यक्ष हेरफेर इंटरफेस में निष्पादित किए गए थे, तो मूल उपयोगकर्ता क्रिया की यह पुनर्व्याख्या हमेशा स्पष्ट या अच्छी तरह से परिभाषित नहीं होती है।<ref name=":0" />
स्क्रिप्ट मॉडल उपयोगकर्ता क्रियाओं को कमांड की स्क्रिप्ट संपादित करने के रूप में संभालता है। निष्पादित आदेशों की इतिहास सूची को एक स्क्रिप्ट के रूप में व्याख्या की जाती है, एक अनडू प्रभाव को उसी तरह परिभाषित किया जाता है जैसे कि अनडू कार्रवाई पहले कभी नहीं हुई थी।<ref name=":0" />राज्य को अनडू करने के परिणाम के रूप में ऐसा होना चाहिए जैसे कि अनडू आदेश को कभी निष्पादित नहीं किया गया था। इस मॉडल का एक नुकसान यह है कि साइड इफेक्ट से बचने के लिए उपयोगकर्ता को अनडू आदेश और वर्तमान स्थिति के बीच संबंध को जानना होगा। इनमें से एक उदाहरण के लिए दोहराव हो सकता है। अन्य समस्याएँ यह हैं कि यदि बाद के आदेशों को एक अलग स्थिति में फिर से किया जाता है कि वे मूल रूप से प्रत्यक्ष हेरफेर इंटरफेस में निष्पादित किए गए थे, तो मूल उपयोगकर्ता क्रिया की यह पुनर्व्याख्या हमेशा स्पष्ट या अच्छी तरह से परिभाषित नहीं होती है।<ref name=":0" />




==== यूएस एंड आर मॉडल ====
==== यूएस एंड आर मॉडल ====
इस मॉडल की खास बात यह है कि इसमें एक कमांड को स्किप करने का विकल्प है। इसका मतलब है कि कमांड को फिर से करना छोड़ दिया जा सकता है। स्किप की गई कमांड को स्किप के रूप में चिह्नित किया गया है लेकिन डिलीट नहीं किया गया है। जब नए आदेश निष्पादित किए जाते हैं, तो इतिहास सूची को बरकरार रखा जाता है, इसलिए निष्पादित आदेशों का क्रम उसके साथ पुन: उत्पन्न किया जा सकता है। ऑर्डर को इतिहास के पेड़ के माध्यम से वर्णित किया जा सकता है जो एक निर्देशित ग्राफ है, क्योंकि ग्राफ में एक लिंक बनाने वाली दूसरी शाखा से आदेशों को फिर से जारी रखना संभव है।<ref name=":0" />भले ही आदेशों का सेट सरल और समझने में आसान है, जब उपयोगकर्ता एक से अधिक चरणों को पूर्ववत करना चाहता है, तो लंघन और शाखाओं को जोड़ने वाली जटिल संरचना को समझना और याद रखना कठिन होता है।<ref name=":0" />
इस मॉडल की खास बात यह है कि इसमें एक कमांड को स्किप करने का विकल्प है। इसका मतलब है कि कमांड को फिर से करना छोड़ दिया जा सकता है। स्किप की गई कमांड को स्किप के रूप में चिह्नित किया गया है लेकिन डिलीट नहीं किया गया है। जब नए आदेश निष्पादित किए जाते हैं, तो इतिहास सूची को बरकरार रखा जाता है, इसलिए निष्पादित आदेशों का क्रम उसके साथ पुन: उत्पन्न किया जा सकता है। ऑर्डर को इतिहास के पेड़ के माध्यम से वर्णित किया जा सकता है जो एक निर्देशित ग्राफ है, क्योंकि ग्राफ में एक लिंक बनाने वाली दूसरी शाखा से आदेशों को फिर से जारी रखना संभव है।<ref name=":0" />भले ही आदेशों का सेट सरल और समझने में सरल है, जब उपयोगकर्ता एक से अधिक चरणों को अनडू करना चाहता है, तो लंघन और शाखाओं को जोड़ने वाली जटिल संरचना को समझना और याद रखना कठिन होता है।<ref name=":0" />




==== ट्रायडिक मॉडल ====
==== ट्रायडिक मॉडल ====
इस गैर-रैखिक पूर्ववत मॉडल में घुमाने की संभावना पूर्ववत और फिर से करने के अलावा है। इसकी एक ही डेटा संरचना है जो उपर्युक्त मॉडल के रूप में एक इतिहास सूची और एक अलग रीडो सूची है जिसमें रीडो ऑपरेशन शामिल हैं। रोटेट ऑपरेशन उसके सामने रीडो लिस्ट की आखिरी कमांड सेट करता है। एक तरफ इसका मतलब यह है कि अगली कमांड को फिर से करने के लिए इसे सामने रखकर चुना जा सकता है। दूसरी ओर, रोटेशन का उपयोग रीडो सूची में उस स्थान का चयन करने के लिए किया जा सकता है जहां अगला पूर्ववत ऑपरेशन कमांड डालेगा।<ref name=":0" />इसलिए रीडो की सूची अनियंत्रित है। एक पृथक आदेश को पूर्ववत करने के लिए, उपयोगकर्ता को कई चरणों को पूर्ववत करना होगा, फिर से करें सूची को घुमाना होगा और फिर कई चरणों को फिर से करना होगा।<ref name=":0" />फिर से करने के लिए सूची को तब तक घुमाना पड़ता है जब तक वांछित आदेश ऊपर न हो।
इस गैर-रैखिक अनडू मॉडल में घुमाने की संभावना अनडू और फिर से करने के अलावा है। इसकी एक ही डेटा संरचना है जो उपर्युक्त मॉडल के रूप में एक इतिहास सूची और एक अलग रीडो सूची है जिसमें रीडो ऑपरेशन सम्मलित हैं। रोटेट ऑपरेशन उसके सामने रीडो लिस्ट की आखिरी कमांड सेट करता है। एक तरफ इसका मतलब यह है कि अगली कमांड को फिर से करने के लिए इसे सामने रखकर चुना जा सकता है। दूसरी ओर, रोटेशन का उपयोग रीडो सूची में उस स्थान का चयन करने के लिए किया जा सकता है जहां अगला अनडू ऑपरेशन कमांड डालेगा।<ref name=":0" />इसलिए रीडो की सूची अनियंत्रित है। एक पृथक आदेश को अनडू करने के लिए, उपयोगकर्ता को कई चरणों को अनडू करना होगा, फिर से करें सूची को घुमाना होगा और फिर कई चरणों को फिर से करना होगा।<ref name=":0" />फिर से करने के लिए सूची को तब तक घुमाना पड़ता है जब तक वांछित आदेश ऊपर न हो।


=== चयनात्मक पूर्ववत करें ===
=== चयनात्मक अनडू करें ===
जकुबेक एट अल। कहते हैं कि चयनात्मक पूर्ववत एक विशेषता है जो एक मॉडल पेश कर सकता है लेकिन चयनात्मक पूर्ववत के लिए कोई स्पष्ट परिभाषा नहीं है।<ref name=":1" />लेखकों ने उन कार्यों का चयन किया जो एक मॉडल के पास होना चाहिए जब वह चयनात्मक पूर्ववत का समर्थन करता है। इतिहास बफ़र में किसी भी निष्पादित क्रिया को पूर्ववत करना संभव होना चाहिए। पूर्ववत की जा रही कार्रवाई से स्वतंत्र क्रियाओं को अछूता छोड़ देना चाहिए।<ref name=":1" />ठीक वैसे ही किसी भी पूर्ववत आदेश के लिए फिर से करना संभव है। चयनात्मक पूर्ववत के लिए तीसरा कार्य यह है कि प्रत्यक्ष उपयोगकर्ता के अनुरोध के बिना इतिहास बफ़र से कोई भी आदेश स्वचालित रूप से खारिज नहीं किया जा सकता है।<ref name=":1" />चयनात्मक पूर्ववत के लिए लागू होता है कि पूर्ववत और फिर से करना किसी भी संदर्भ के बाहर निष्पादन योग्य है। तीन मुख्य मुद्दे हैं। पहला यह है कि पूर्ववत आदेश मूल संदर्भ से बाहर हो सकते हैं। इसके माध्यम से मृत संदर्भ हो सकते हैं जिन्हें संभालना होगा। दूसरा मुद्दा यह है कि संशोधित आदेशों को पूर्ववत किया जा सकता है और इसलिए इसे हल करना होगा कि पूर्ववत करने के बाद कौन सी स्थिति प्रस्तुत की जाएगी। तीसरा मुद्दा कमांड की समस्याओं को दूर कर रहा है। चयनात्मक पूर्ववत का सूचियों में कोई संकेतक नहीं है, इसलिए इसका मतलब है कि स्टैक से कोई आदेश नहीं छोड़ा जाना चाहिए।<ref name=":1" />
जकुबेक एट अल। कहते हैं कि चयनात्मक अनडू एक विशेषता है जो एक मॉडल पेश कर सकता है लेकिन चयनात्मक अनडू के लिए कोई स्पष्ट परिभाषा नहीं है।<ref name=":1" />लेखकों ने उन कार्यों का चयन किया जो एक मॉडल के पास होना चाहिए जब वह चयनात्मक अनडू का समर्थन करता है। इतिहास बफ़र में किसी भी निष्पादित क्रिया को अनडू करना संभव होना चाहिए। अनडू की जा रही कार्रवाई से स्वतंत्र क्रियाओं को अछूता छोड़ देना चाहिए।<ref name=":1" />ठीक वैसे ही किसी भी अनडू आदेश के लिए फिर से करना संभव है। चयनात्मक अनडू के लिए तीसरा कार्य यह है कि प्रत्यक्ष उपयोगकर्ता के अनुरोध के बिना इतिहास बफ़र से कोई भी आदेश स्वचालित रूप से खारिज नहीं किया जा सकता है।<ref name=":1" />चयनात्मक अनडू के लिए लागू होता है कि अनडू और फिर से करना किसी भी संदर्भ के बाहर निष्पादन योग्य है। तीन मुख्य मुद्दे हैं। पहला यह है कि अनडू आदेश मूल संदर्भ से बाहर हो सकते हैं। इसके माध्यम से मृत संदर्भ हो सकते हैं जिन्हें संभालना होगा। दूसरा मुद्दा यह है कि संशोधित आदेशों को अनडू किया जा सकता है और इसलिए इसे हल करना होगा कि अनडू करने के बाद कौन सी स्थिति प्रस्तुत की जाएगी। तीसरा मुद्दा कमांड की समस्याओं को दूर कर रहा है। चयनात्मक अनडू का सूचियों में कोई संकेतक नहीं है, इसलिए इसका मतलब है कि स्टैक से कोई आदेश नहीं छोड़ा जाना चाहिए।<ref name=":1" />






==== प्रत्यक्ष चयनात्मक पूर्ववत करें ====
==== प्रत्यक्ष चयनात्मक अनडू करें ====
प्रत्यक्ष चयनात्मक पूर्ववत एक इतिहास वृक्ष के साथ प्रतिबंधित रेखीय पूर्ववत का विस्तार है। ऑपरेशन चयनित कमांड की एक प्रति बनाता है, इसे निष्पादित करता है और इसे इतिहास सूची में जोड़ता है। वहाँ दो गैर-रैखिक संचालन चयनात्मक पूर्ववत और चयनात्मक फिर से परिभाषित किए गए हैं, इसलिए यह अधिक सममित है।<ref name=":0" />
प्रत्यक्ष चयनात्मक अनडू एक इतिहास वृक्ष के साथ प्रतिबंधित रेखीय अनडू का विस्तार है। ऑपरेशन चयनित कमांड की एक प्रति बनाता है, इसे निष्पादित करता है और इसे इतिहास सूची में जोड़ता है। वहाँ दो गैर-रैखिक संचालन चयनात्मक अनडू और चयनात्मक फिर से परिभाषित किए गए हैं, इसलिए यह अधिक सममित है।<ref name=":0" />




=== बहुउपयोगकर्ता अनुप्रयोग ===
=== बहुउपयोगकर्ता अनुप्रयोग ===
जब एकाधिक उपयोगकर्ता एक ही दस्तावेज़ को एक साथ संपादित कर सकते हैं, तो बहु-उपयोगकर्ता पूर्ववत करने की आवश्यकता होती है। वैश्विक बहु-उपयोगकर्ता पूर्ववत दस्तावेज़ में की गई नवीनतम क्रिया को पूर्ववत करता है, भले ही संपादन किसने किया हो। स्थानीय बहु-उपयोगकर्ता पूर्ववत केवल स्थानीय उपयोगकर्ता द्वारा किए गए कार्यों को पूर्ववत करता है, जिसके लिए गैर-रैखिक पूर्ववत कार्यान्वयन की आवश्यकता होती है।
जब एकाधिक उपयोगकर्ता एक ही प्रपत्र को एक साथ संपादित कर सकते हैं, तो बहु-उपयोगकर्ता अनडू करने की आवश्यकता होती है। वैश्विक बहु-उपयोगकर्ता अनडू प्रपत्र में की गई नवीनतम क्रिया को अनडू करता है, भले ही संपादन किसने किया हो। स्थानीय बहु-उपयोगकर्ता अनडू केवल स्थानीय उपयोगकर्ता द्वारा किए गए कार्यों को अनडू करता है, जिसके लिए गैर-रैखिक अनडू कार्यान्वयन की आवश्यकता होती है।


जहां पूर्ववत का उपयोग कई संपादनों के माध्यम से बैकट्रैक करने के लिए किया जा सकता है, फिर से करें आदेश क्रिया इतिहास के माध्यम से आगे बढ़ता है। नया संपादन करने से आमतौर पर फिर से की जाने वाली सूची साफ़ हो जाती है। यदि एक ब्रांचिंग रीडो मॉडल का उपयोग किया जाता है, तो नया संपादन क्रिया इतिहास को शाखाबद्ध करता है।
जहां अनडू का उपयोग कई संपादनों के माध्यम से बैकट्रैक करने के लिए किया जा सकता है, फिर से करें आदेश क्रिया इतिहास के माध्यम से आगे बढ़ता है। नया संपादन करने से आमतौर पर फिर से की जाने वाली सूची साफ़ हो जाती है। यदि एक ब्रांचिंग रीडो मॉडल का उपयोग किया जाता है, तो नया संपादन क्रिया इतिहास को शाखाबद्ध करता है।


पूर्ववत की जा सकने वाली पिछली कार्रवाइयों की संख्या प्रोग्राम, संस्करण और हार्डवेयर या सॉफ़्टवेयर क्षमताओं के अनुसार भिन्न होती है। उदाहरण के लिए, [[Adobe Photoshop]] में डिफ़ॉल्ट पूर्ववत करें/फिर से करें स्टैक आकार 20 है लेकिन उपयोगकर्ता द्वारा इसे बदला जा सकता है। दूसरे उदाहरण के रूप में, पहले{{when|date=May 2018}} Microsoft पेंट के संस्करणों को पूर्ववत करने के लिए केवल तीन संपादनों तक की अनुमति है; विंडोज 7 में पेश किए गए संस्करण ने इस सीमा को बढ़ाकर 50 कर दिया।
अनडू की जा सकने वाली पिछली कार्रवाइयों की संख्या प्रोग्राम, संस्करण और हार्डवेयर या सॉफ़्टवेयर क्षमताओं के अनुसार भिन्न होती है। उदाहरण के लिए, [[Adobe Photoshop]] में डिफ़ॉल्ट अनडू करें/फिर से करें स्टैक आकार 20 है लेकिन उपयोगकर्ता द्वारा इसे बदला जा सकता है। दूसरे उदाहरण के रूप में, पहले{{when|date=May 2018}} Microsoft पेंट के संस्करणों को अनडू करने के लिए केवल तीन संपादनों तक की अनुमति है; विंडोज 7 में पेश किए गए संस्करण ने इस सीमा को बढ़ाकर 50 कर दिया।


सरलीकृत, एकल-संपादन पूर्ववत सुविधाएँ कभी-कभी पूर्ववत कमांड को पूर्ववत की जा सकने वाली क्रिया के रूप में मानकर फिर से करना बंद कर देती हैं। इसे फ्लिप पूर्ववत मॉडल के रूप में जाना जाता है, क्योंकि उपयोगकर्ता पूर्ववत आदेश का उपयोग करके दो प्रोग्राम राज्यों के बीच फ़्लिप कर सकता है।<ref>Roberta Mancini, Alan Dix and Stefano Levialdi. 2006. [http://www.hcibook.com/alan/papers/undo-techrep-96/tech9611.pdf "Reflections on Undo"]</ref> 1990 के दशक की शुरुआत में बहु-स्तरीय पूर्ववत के व्यापक रूप से अपनाने से पहले यह मानक मॉडल था।
सरलीकृत, एकल-संपादन अनडू सुविधाएँ कभी-कभी अनडू कमांड को अनडू की जा सकने वाली क्रिया के रूप में मानकर फिर से करना बंद कर देती हैं। इसे फ्लिप अनडू मॉडल के रूप में जाना जाता है, क्योंकि उपयोगकर्ता अनडू आदेश का उपयोग करके दो प्रोग्राम राज्यों के बीच फ़्लिप कर सकता है।<ref>Roberta Mancini, Alan Dix and Stefano Levialdi. 2006. [http://www.hcibook.com/alan/papers/undo-techrep-96/tech9611.pdf "Reflections on Undo"]</ref> 1990 के दशक की शुरुआत में बहु-स्तरीय अनडू के व्यापक रूप से अपनाने से पहले यह मानक मॉडल था।


== कार्यान्वयन पूर्ववत करें ==
== कार्यान्वयन अनडू करें ==