Пример #1
0
        public void Run()
        {
            State s = new State();
            s.A = "a";
            Originator o = new Originator(s);

            o.Show();

            Mementor m = o.CraeteMementor();

            CareTaker c = new CareTaker();
            c.Add(m);

            s.A = "b";
            o.ChangeStatus(s);

            o.Show();

            Mementor tm = (Mementor)c.Restore();

            o.SetState(tm);
            o.Show();
        }
Пример #2
0
 public Mementor(State st)
 {
     this.state = (State)st.Clone();
 }
Пример #3
0
        public object Clone()
        {
            State state = new State();
            state.A = a;

            return state;
        }
Пример #4
0
 public void SetState(Mementor m)
 {
     this.state = m._State;
 }
Пример #5
0
 public void ChangeStatus(State s)
 {
     this.state = s;
 }
Пример #6
0
 public Originator(State st)
 {
     this.state = (State)st.Clone();
 }