static void Main(string[] args) { ConcreateSubject s = new ConcreateSubject(); //Attach state to Subject s.Attach(new ConcreteObserver(s, "X")); s.Attach(new ConcreteObserver(s, "Y")); s.Attach(new ConcreteObserver(s, "Z")); // Change subject and notify observers s.SubjectState = "ABC"; s.Notify(); //Wait for user Console.ReadKey(); }
//Constructer public ConcreteObserver(ConcreateSubject subject, string name) { _name = name; _subject = subject; }