コード例 #1
0
    public static void Main()
    {
        //subject
        WeatherSubscriber DeutscherWetterdienst = new WeatherSubscriber();
        //observers
        WeatherProvider WebDienst = new WeatherProvider("WebDienst");

        WebDienst.Subscribe(DeutscherWetterdienst);
        WeatherProvider WetterApp = new WeatherProvider("WetterApp");

        WetterApp.Subscribe(DeutscherWetterdienst);
        WeatherProvider Tagesschau = new WeatherProvider("Tagesschau");

        Tagesschau.Subscribe(DeutscherWetterdienst);

        Console.WriteLine("Achtung! Der deutscher Wetterdienst hat neue Wetterdaten:");
        DeutscherWetterdienst.SetMeasurements(new WeatherData(10, 7, 14));
        Console.Read();

        Tagesschau.Unsubscribe();
        Console.WriteLine("Achtung! Die Tagesschau sucht sich ein anderen Wetterdienst.");
        Console.Read();

        Console.WriteLine("Achtung! Der deutscher Wetterdienst hat neue Wetterdaten:");
        DeutscherWetterdienst.SetMeasurements(new WeatherData(28, 26, 14));
        Console.Read();

        Console.WriteLine("Fehler! Der deutscher Wetterdienst hat keine Wetterdaten");
        DeutscherWetterdienst.SetMeasurements(null);
        Console.Read();
    }
コード例 #2
0
ファイル: Program.cs プロジェクト: sandieng/ObserverPattern
        static void Main(string[] args)
        {
            WeatherSubscriber subscriber = new WeatherSubscriber();
            WeatherProvider   channel7   = new WeatherProvider("Channel 7");

            channel7.Subscribe(subscriber);
            WeatherProvider cnn = new WeatherProvider("CNN");

            cnn.Subscribe(subscriber);
            WeatherProvider mouseTv = new WeatherProvider("Mouse TV");

            mouseTv.Subscribe(subscriber);
            subscriber.SetMeasurements(new WeatherData(10, 7, 14));
            mouseTv.Unsubscribe();
            subscriber.SetMeasurements(new WeatherData(28, 26, 14));
            subscriber.SetMeasurements(null);

            Console.Read();
        }