A contractor saves his daily progress to a database. He likes the ability to roll back to a previous day for problem examination and correction. Which of the following design pattern(s) would you choose?
A. Command and Factory
B. Chain of Responsibility
C. Mediator and Observer
D. Command and Snapshot
E. Flyweight and Snapshot