Exemple #1
0
        public static void Main(string[] args)
        {
            //CreateMemento é usado para definir o estado interno do objeto.
            //SetMemento obterá e atribuirá esse estado interno ao originator.
            Originator originator = new Originator();

            //Manter os objetos memento.
            Caretaker caretaker = new Caretaker();

            originator.bike = new Bicicleta("Left", "Shimano", "Azul");
            caretaker.AddMemento(originator.CreateMemento());

            originator.bike = new Bicicleta("Manintou", "Shimano", "Azul");
            caretaker.AddMemento(originator.CreateMemento());

            originator.bike = new Bicicleta("RockShocks", "Sram", "Preta");
            caretaker.AddMemento(originator.CreateMemento());

            Console.WriteLine("\nConfiguração atual: " + originator.GetDetails());

            Console.WriteLine("\nRestaurar a bike para estado original");

            originator.bike = caretaker.GetMemento(0).bike;

            Console.WriteLine("\nConfiguração atual: " + originator.GetDetails());
            Console.ReadKey();
        }
Exemple #2
0
        private void BtnUndo_Click(object sender, RoutedEventArgs e)
        {
            if (currentStatement >= 0)
            {
                currentStatement--;

                string textBoxString = originator.RestoreFromMemento(caretaker.GetMemento(currentStatement));

                theStatement.Text = textBoxString;

                btnRedo.IsEnabled = true;
            }
            else
            {
                btnUndo.IsEnabled = false;
            }
        }
Exemple #3
0
        private static void Main(string[] args)
        {
            Caretaker  caretaker  = new Caretaker();
            Originator originator = new Originator();

            originator.Text = "xXXD";
            caretaker.AddMemento(originator.CreateMemento());
            originator.Text = "aaa";
            Console.WriteLine(originator.Text);
            originator.RestoreMemento(caretaker.GetMemento(0));
            Console.WriteLine(originator.Text);
        }
Exemple #4
0
        public static void Main()
        {
            var noteBook = new NoteBook();

            noteBook.Write("mfk");
            noteBook.ShowNote();

            var noteMemento = noteBook.Save();
            var caretaker   = new Caretaker(noteMemento);

            noteBook.Write("ark");
            noteBook.ShowNote();

            noteBook.Rollback(caretaker.GetMemento());
            noteBook.ShowNote();
        }
Exemple #5
0
        static void Main(string[] args)
        {
            Originator ori = new Originator("状态(1)");

            Console.WriteLine(ori.GetState());

            Caretaker ct = new Caretaker();

            ct.SetMemento(ori.CreateMemento());

            ori.SetState("状态(2)");
            Console.WriteLine(ori.GetState());

            ori.RestoreMemento(ct.GetMemento());
            Console.WriteLine(ori.GetState());
        }
Exemple #6
0
        static void Main(string[] args)
        {
            string nombreJuego = "Mario Bross";

            Juego juego = new Juego();

            juego.Nombre     = nombreJuego;
            juego.Checkpoint = 1;

            Caretaker  caretaker  = new Caretaker();
            Originator originator = new Originator();

            juego            = new Juego();
            juego.Nombre     = nombreJuego;
            juego.Checkpoint = 2;

            originator.Estado = juego;

            juego            = new Juego();
            juego.Nombre     = nombreJuego;
            juego.Checkpoint = 3;

            originator.Estado = juego;

            caretaker.AddMemento(originator.Guardar()); //Estado posición 0

            juego            = new Juego();
            juego.Nombre     = nombreJuego;
            juego.Checkpoint = 4;

            originator.Estado = juego;

            caretaker.AddMemento(originator.Guardar()); //Estado posición 1

            juego            = new Juego();
            juego.Nombre     = nombreJuego;
            juego.Checkpoint = 5;

            originator.Estado = juego;
            originator.Restaurar(caretaker.GetMemento(0));

            juego = originator.Estado;

            Console.WriteLine(juego.Estado());

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Caretaker caretaker = new Caretaker();

            Originator originator = new Originator(new Laptop("Acer Nitro 5", 15.6, "Intel Core i5"));

            Console.WriteLine(originator);

            caretaker.AddMemento(originator.Save());

            originator.SetLaptop(new Laptop("Apple MacBook 2020", 17, "Apple M1"));
            Console.WriteLine(originator);

            caretaker.AddMemento(originator.Save());

            originator.Restore(caretaker.GetMemento(0));
            Console.WriteLine(originator);
        }
Exemple #8
0
        public static void Run()
        {
            Originator originator = new Originator();

            originator.ledTV = new LEDTV("42 inch", "60000Rs", false);

            Caretaker caretaker = new Caretaker();

            caretaker.AddMemento(originator.CreateMemento());
            originator.ledTV = new LEDTV("46 inch", "80000Rs", true);
            caretaker.AddMemento(originator.CreateMemento());
            originator.ledTV = new LEDTV("50 inch", "100000Rs", true);

            Console.WriteLine("\nOrignator current state : " + originator.GetDetails());
            Console.WriteLine("\nOriginator restoring to 42 inch LED TV");
            originator.ledTV = caretaker.GetMemento(0).ledTV;
            Console.WriteLine("\nOrignator current state : " + originator.GetDetails());
            Console.ReadKey();
        }
Exemple #9
0
        public static void Main(string[] args)
        {
            Caretaker  careTaker  = new Caretaker();
            Originator originator = new Originator();

            originator.State = "State1";
            careTaker.AddMemento(originator.SaveToMemento());

            originator.State = "State2";
            careTaker.AddMemento(originator.SaveToMemento());

            originator.State = "State3";
            careTaker.AddMemento(originator.SaveToMemento());


            originator.State = "State4";
            careTaker.AddMemento(originator.SaveToMemento());

            originator.RestoreFromMemento(careTaker.GetMemento(2));

            Console.ReadLine();
        }