public DerivedTwo(SubjectObserver father, object x) { this.father = father; this.reference = (xKernelCentral)father; this.MinimizeBox = false; InitializeComponent(); this.ShowInTaskbar = false; }
public DerivedOne(SubjectObserver father, Object x) { this.MinimizeBox = false; this.ShowInTaskbar = false; InitializeComponent(); this.father = father; this.dependency = (xKernelCentral)father; this.update(x); }
static void Main() { SubjectObserver so = new SubjectObserver(Update); // Аналог вызова Notify() - логически относится к издателю (Subject). so.Invoke(); // Delay. Console.ReadKey(); }
public void ObserverPattern_TestIfObbserversWerNotified() { // Arrange var subject = new SubjectObserver(); var observerA = new ObserverA(subject); var observerB = new ObserverB(subject); // Act const string state = "bla bla"; subject.BuisnessMethod(state); subject.Notify(); // Assert Assert.AreEqual(observerA.State, state); Assert.AreEqual(observerB.State, state); }
static void Main(string[] args) { // Create a subject and the observable, inject the subject into the observable Subject subject = new Subject(); SubjectObservable observable = new SubjectObservable(subject); //Create two observers SubjectObserver zeus = new SubjectObserver(observable, "Zeus"); SubjectObserver ares = new SubjectObserver(observable, "Ares"); // Run a loop and trigger the observer for (int i = 0; i < 5; i++) { Console.WriteLine("Counter: " + subject.Counter); observable.inspectSubject(); } Console.ReadLine(); }