private static void Main() { var subject = new ConcreteSubject(); var observer1 = new ConcreteObserver("observer1"); var observer2 = new ConcreteObserver("observer2"); subject.Attach(observer1); subject.Attach(observer2); subject.SubjectState = "Modified"; subject.Detach(observer1); subject.Detach(observer2); subject.SubjectState = "Modified Again !"; Console.ReadKey(); }
public void ObserverTest4() { ConcreteSubject subject = new ConcreteSubject(); ConcreteObserver observer1 = new ConcreteObserver(); ConcreteObserver observer2 = new ConcreteObserver(); subject.Attach(observer1); subject.Notify(); subject.Attach(observer2); subject.Notify(); subject.Detach(observer1); subject.Notify(); Assert.True(observer1.Notified == observer2.Notified); }
public void RemoveObserver() { ConcreteSubject subject = new ConcreteSubject(); subject.brush = Brushes.Red; Ellipse testEll1 = new Ellipse(); ConcreteObserver ob1 = new ConcreteObserver(subject, testEll1); subject.Attach(ob1); subject.Notify(); subject.Detach(ob1); subject.brush = Brushes.BlueViolet; subject.Notify(); Assert.AreEqual(testEll1.Fill, Brushes.Red); }
public void TestObserverPattern() { cs.State = 1; Assert.AreEqual(1, co1.State); Assert.AreEqual(1, co2.State); Assert.AreEqual(1, co3.State); cs.State = 25; Assert.AreEqual(25, co1.State); Assert.AreEqual(25, co2.State); Assert.AreEqual(25, co3.State); cs.Detach(co2); cs.State = 42; Assert.AreEqual(42, co1.State); Assert.AreEqual(25, co2.State); Assert.AreEqual(42, co3.State); }
public void Start() { var subject = new ConcreteSubject(); var firstConcreteObserver = new ConcreteObserver(subject, "First"); var secondConcreteObserver = new ConcreteObserver(subject, "Second"); subject.Attach(firstConcreteObserver); subject.Attach(secondConcreteObserver); subject.SubjectState = "FirstState"; subject.Notify(); subject.Detach(secondConcreteObserver); subject.SubjectState = "SecondState"; subject.Notify(); }
static void MainABC(string[] args) { // The client code. var subject = new ConcreteSubject(); var observerA = new ConcreteObserverA(); subject.Attach(observerA); var observerB = new ConcreteObserverB(); subject.Attach(observerB); subject.SomeBusinessLogic(); subject.SomeBusinessLogic(); subject.Detach(observerB); subject.SomeBusinessLogic(); }
static void Main(string[] args) { var concreteSubject = new ConcreteSubject(); var observer1 = new ConcreteObserver("Observer 1"); var observer2 = new ConcreteObserver("Observer 2"); concreteSubject.ConcreteSubjectState = 2; concreteSubject.Attach(observer1); observer1.Update(concreteSubject); concreteSubject.Attach(observer2); observer2.Update(concreteSubject); concreteSubject.ConcreteSubjectState = 3; concreteSubject.Detach(observer1); concreteSubject.ConcreteSubjectState = 4; }
static void Main(string[] args) { var subject = new ConcreteSubject(); var observer1 = new ConcreteObserver1(); subject.Attach(observer1); var observer2 = new ConcreteObserver2(); subject.Attach(observer2); var observer3 = new ConcreteObserver3(); subject.Attach(observer3); subject.BusinessLogic(); subject.BusinessLogic(); subject.Detach(observer3); subject.BusinessLogic(); }