private void Awake()
    {
        ConcreteSubject1  subject = new ConcreteSubject1();
        ConcreteObserver1 server1 = new ConcreteObserver1(subject);
        ConcreteObserver2 server2 = new ConcreteObserver2(subject);

        subject.SubjectState = "MonoBehaviour";
    }
Пример #2
0
    private void Start()
    {
        ConcreteSubject1  sub1 = new ConcreteSubject1();
        ConcreteObserver1 ob1  = new ConcreteObserver1(sub1);

        sub1.RegisterObserver(ob1);

        sub1.SubjectState = "更新了一条消息";
    }
    // Use this for initialization
    void Start()
    {
        // WeatherStation ws = new WeatherStation();
        // BillboardA a = new BillboardA();
        // BillboardB b = new BillboardB();
        // BillboardC c = new BillboardC();
        // ws.Updatea(a,b,c);
        ConcreteSubject1  sub1 = new ConcreteSubject1();
        ConcreteObserver1 ob1  = new ConcreteObserver1(sub1);

        sub1.RegisterObserver(ob1);
        sub1.SubjectState = "温度90";
    }
Пример #4
0
        static void Main(string[] args)
        {
            ConcreteSubject subj = new ConcreteSubject();

            subj.Attach(new ConcreteObserver(subj));
            subj.Attach(new ConcreteObserver(subj));

            subj.State = "Some state";
            subj.Notify();

            ConcreteSubject1 subj1 = new ConcreteSubject1();

            subj1.Attach(new ConcreteObserver2(subj1));
            subj1.Attach(new ConcreteObserver2(subj1));

            subj1.State = "Some state 1";
            subj1.Notify();
        }
Пример #5
0
    void Start()
    {
        //WeatherStation mWeatherStation = new WeatherStation();

        //BillboardA mBillboardA = new BillboardA();
        //BillboardB mBillboardB = new BillboardB();
        //BillboardC mBillboardC = new BillboardC();

        //mWeatherStation.mBillboardHandler += mBillboardA.Show;
        //mWeatherStation.mBillboardHandler += mBillboardB.Show;
        //mWeatherStation.mBillboardHandler += mBillboardC.Show;

        //mWeatherStation.Update();

        ConcreteSubject1  mConcreteSubject1  = new ConcreteSubject1();
        ConcreteObserver1 mConcreteObserver1 = new ConcreteObserver1(mConcreteSubject1);

        mConcreteSubject1.RegisterObserver(mConcreteObserver1);


        mConcreteSubject1.subjectState = "状态改变";
    }
Пример #6
0
    private void Start()
    {
        //WeatherStation weather = new global::WeatherStation();

        //BillBoardA a = new BillBoardA();
        //BillBoardB b = new BillBoardB();
        //BillBoardC c = new BillBoardC();

        //weather.Update(a,b,c);

        ////不符合开闭原则 :对修改关闭,对扩展开放
        ////当需求变更,我们需要扩展显示布告板D,E,F....我们就得必须修改 WeatherStation的Update()


        ConcreteSubject1 sub1 = new ConcreteSubject1();

        sub1.RegisterObserver(new  ConcreteObserver1(sub1));
        sub1.RegisterObserver(new  ConcreteObserver2(sub1));

        sub1.subjectState = "温度 27,湿度 18,气候 多云";
        sub1.subjectState = "温度 32,湿度 24,气候 晴天";
    }
Пример #7
0
 public ConcreteObserver1(ConcreteSubject1 sub)
 {
     mSub = sub;
 }
Пример #8
0
 public ConcreteObserver2(ConcreteSubject1 sub2)
 {
     mSub2 = sub2;
 }
Пример #9
0
 public ConcreteObserver1(ConcreteSubject1 sub1)
 {
     mSub1 = sub1;
 }
 public ConcreteObserver1(ConcreteSubject1 co)
 {
     mSub = co;
 }
Пример #11
0
 public void Awake()
 {
     subject1 = new ConcreteSubject1();
 }