private void FormObserver_Load(object sender, EventArgs e) { // 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(); }
// Start is called before the first frame update void Start() { ConcreteSubject subject = new ConcreteSubject(); subject.Attach(new ConcreteObserver(subject, "111")); subject.Attach(new ConcreteObserver(subject, "222")); subject.Attach(new ConcreteObserver(subject, "333")); subject.SubjectState = "ABC"; subject.Notify(); subject.SubjectState = "123123"; subject.Notify(); }