Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Memento pattern demo...");

            List <IMemento <SurveyState> > surveySnapshot = new List <IMemento <SurveyState> >(); //Caretaker

            var survey = new Survey()
            {
                Name = "test"
            };

            survey.AddAnswer(1, "I like c#");
            survey.AddAnswer(2, "Yes");

            Console.WriteLine(survey);
            Console.WriteLine("---");

            surveySnapshot.Add(survey.CreateSnapshot());

            survey.AddAnswer(3, "No");

            Console.WriteLine(survey);
            Console.WriteLine("---");

            survey.RestoreSnapshot(surveySnapshot.Last());

            Console.WriteLine(survey);
            Console.WriteLine("---");
        }