Example #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();
        }
Example #2
0
 private void Save_Click(object sender, RoutedEventArgs e)
 {
     _current++;
     _originator.Text = TextBox1.Text;
     _careraker.AddMemento(_originator.StoreInMemento());
     label.Content = _current.ToString();
 }
Example #3
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();
        }
Example #4
0
        public WordProcessor()
        {
            _caretaker = new Caretaker();
            var initialState = new State("");

            _originator = new Originator(initialState);
            _caretaker.AddMemento(_originator.SaveState());
        }
Example #5
0
        public void OnInput(string input)
        {
            _originator.AppendData(input);
            var memento = _originator.SaveState();

            _caretaker.AddMemento(memento);

            Console.WriteLine($"Current state: {GetStateValue()}");
        }
Example #6
0
        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);
        }
Example #7
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();
        }
Example #8
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);
        }
Example #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();
        }
Example #10
0
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            string text = theStatement.Text;

            originator.Set(text);

            caretaker.AddMemento(originator.StoreInMemento());

            saveFiles++;
            currentStatement++;

            WriteLine("Saved files " + saveFiles + "\n");

            btnUndo.IsEnabled = true;
        }