Exemple #1
0
        // 2. Observer Pattern
        private static void RunObserverPatternDemo()
        {
            WeatherPublisher weatherPublisher        = new WeatherPublisher();
            ISubscriber      currentConditionDisplay = new CurrentConditionsDisplay(weatherPublisher);
            ISubscriber      statisticalDisplay      = new StatisticalDisplay(weatherPublisher);

            Console.WriteLine("Set Weather the first time");
            weatherPublisher.SetWeatherStats(0, 0, 0);
            Console.WriteLine();

            Console.WriteLine("Set Weather the second time");
            weatherPublisher.SetWeatherStats(1, 1, 1);
            Console.WriteLine();

            Console.WriteLine("Unsubscribe Current Condition Display");
            currentConditionDisplay.UnSubscribe();

            Console.WriteLine("Set Weather the third time");
            weatherPublisher.SetWeatherStats(2, 2, 2);
            Console.WriteLine();

            Console.WriteLine("Unsubscribe Current Statistical Display");
            statisticalDisplay.UnSubscribe();

            Console.WriteLine("Set Weather the fourth time");
            weatherPublisher.SetWeatherStats(3, 3, 3);
            Console.WriteLine();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            WeatherData weatherData = new WeatherData();
            CurrentConditionsDisplay currentDisplay = new CurrentConditionsDisplay(weatherData);

            weatherData.SetMeasurements(80, 65, 30.4f);
            weatherData.SetMeasurements(82, 70, 29.2f);
            weatherData.SetMeasurements(78, 90, 29.2f);

            Console.ReadLine();
        }