2010-08-10 46 views
17

thể trùng lặp:
Design Pattern for Undo Enginemẫu thiết kế tốt nhất cho "undo" tính năng

Nói chung, làm thế nào để bạn đối phó với việc hỗ trợ một "undo" tính năng trong ứng dụng của bạn? Tôi đã từng làm việc trên các ứng dụng web và các ứng dụng dành cho máy tính để bàn, và tôi chưa bao giờ cảm thấy thoải mái với bất kỳ hệ thống "hoàn tác" nào mà tôi đã thực hiện.

+0

Tham khảo [link] này (http://stackoverflow.com/a/5168936/4629101) để triển khai Hoàn tác/Làm lại. –

Trả lời

19

Tôi tin rằng nó phải là Command mẫu thiết kế.

Đây là article về đa cấp Hoàn tác/Làm lại bằng mẫu Lệnh.

EDIT: Đây là second về đa cấp Undo/Redo với mẫu Memento.

Vì vậy, có thể nó có thể được thực hiện với cả hai.

+0

cảm ơn bạn @jethro bài viết bạn đã liên kết đã giúp tôi rất nhiều! – RHaguiuda

+0

2 liên kết cuối cùng bị hỏng. Bạn có thể sửa chữa nó không? – hsestupin

6

Tôi muốn bỏ phiếu ủng hộ lệnh mẫu qua Memento. Mẫu Memento sẽ tốn kém hơn nhiều so với các mẫu Command cho chức năng Undo/Redo.

chụp và khôi phục đối tượng trạng thái sẽ khá tốn kém ngoại tình so với chỉ làm hoặc hoàn tác một hành động trên bất kỳ đối tượng tương thích.

Các vấn đề liên quan