public void Test() { var subject = new ConcreteSubject(); subject.Attach(new ConcreteObserver(subject, "x")); subject.Attach(new ConcreteObserver(subject, "y")); subject.Attach(new ConcreteObserver(subject, "z")); subject.State = "new state"; subject.Notify(); }
/// <summary> /// Entry point into console application. /// </summary> public void Execute() { // Configure Observer pattern ConcreteSubject s = new ConcreteSubject(); 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(); }
public void Create() { var s = new ConcreteSubject(); // Create 3 observers that watch over the subject. s.Attach(new ConcreteObserver(s, "X")); s.Attach(new ConcreteObserver(s, "Y")); s.Attach(new ConcreteObserver(s, "Z")); s.SubjectState = "New state"; // Notify the observers, updating their state. s.Notify(); }
/// <summary> /// Entry point into console application. /// </summary> static void Main() { // Configure Observer pattern ConcreteSubject s = new ConcreteSubject(); 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(); }