Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering Python Design Patterns

You're reading from   Mastering Python Design Patterns Craft essential Python patterns by following core design principles

Arrow left icon
Product type Paperback
Published in May 2024
Publisher Packt
ISBN-13 9781837639618
Length 296 pages
Edition 3rd Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Kamon Ayeva Kamon Ayeva
Author Profile Icon Kamon Ayeva
Kamon Ayeva
Sakis Kasampalis Sakis Kasampalis
Author Profile Icon Sakis Kasampalis
Sakis Kasampalis
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Part 1: Start with Principles FREE CHAPTER
2. Chapter 1: Foundational Design Principles 3. Chapter 2: SOLID Principles 4. Part 2: From the Gang of Four
5. Chapter 3: Creational Design Patterns 6. Chapter 4: Structural Design Patterns 7. Chapter 5: Behavioral Design Patterns 8. Part 3: Beyond the Gang of Four
9. Chapter 6: Architectural Design Patterns 10. Chapter 7: Concurrency and Asynchronous Patterns 11. Chapter 8: Performance Patterns 12. Chapter 9: Distributed Systems Patterns 13. Chapter 10: Patterns for Testing 14. Chapter 11: Python Anti-Patterns 15. Index 16. Other Books You May Enjoy

The Command pattern

Most applications nowadays have an undo operation. It is hard to imagine, but undo did not exist in any software for many years. Undo was introduced in 1974, but Fortran and Lisp, two programming languages that are still widely used, were created in 1957 and 1958, respectively! I wouldn’t like to have been an application user during those years. Making a mistake meant that the user had no easy way to fix it.

Enough with the history. We want to know how we can implement the undo functionality in our applications. Since you have read the title of this chapter, you already know which design pattern is recommended to implement undo: the Command pattern.

The Command design pattern helps us encapsulate an operation (undo, redo, copy, paste, and so forth) as an object. What this simply means is that we create a class that contains all the logic and the methods required to implement the operation. The advantages of doing this are as follows:

  • We don...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime