Ejemplo n.º 1
0
        static void Main()
        {
            // Configure Observer pattern 
            ConcreteSubject s = new ConcreteSubject();
            Observer obs_a = new ConcreteObserver(s,"X");
            Observer obs_b = new ConcreteObserver(s,"Y");
            Observer obs_c = new ConcreteObserver(s,"Z");
            
            s.Attach(obs_a);
            s.Attach(obs_b);
            s.Attach(obs_c);

            // Change subject and notify observers 
            s.SubjectState = "ABC";
            s.Notify();
            s.SubjectState = "DEF";
            s.Notify();
            
            s.Detach(obs_a);
            s.SubjectState = "GHI";
            s.Notify();
            

            // Wait for user 
            Console.Read();
        }