static void Main(string[] args)
        {
            CurrentConditionsDisplay display_1, display_2;

            // Create Publisher:
            WeatherData weatherData = new WeatherData();

            // Create and register first observer:
            display_1 = new CurrentConditionsDisplay("First text display");
            display_1.Subscribe(weatherData);

            // Create and register first observer:
            display_2 = new CurrentConditionsDisplay("Second text display");
            display_2.Subscribe(weatherData);

            // Simulate availability of new measurements:
            weatherData.SetMeasurement(new Measurement(15.0f, 44.2f, 1020.0f));
            weatherData.SetMeasurement(new Measurement(16.5f, 48.9f, 1015.0f));
            weatherData.SetMeasurement(new Measurement(16.2f, 47.3f, 1025.0f));

            // Remove first observer from observable's notification list:            
            display_1.Unsubscribe();

            // Simulate availability of new measurements again:
            weatherData.SetMeasurement(new Measurement(18.0f, 50.0f, 980.0f));

            // Keap console open:
            ReadLine();

        } // Main
Beispiel #2
0
        static void Main(string[] args)
        {
            var weatherData = new WeatherData();
            var currentConditionsDisplay1 = new CurrentConditionsDisplay("CurrentConditionsDisplay 1");
            var currentConditionsDisplay2 = new CurrentConditionsDisplay("CurrentConditionsDisplay 2");

            currentConditionsDisplay1.Subscribe(weatherData);
            currentConditionsDisplay2.Subscribe(weatherData);
            weatherData.UpdateMeasurements(new WeatherInformation()
            {
                Temperature = 80, Humidity = 30, Pressure = 1024
            });
            currentConditionsDisplay1.Unsuscribe();
            weatherData.UpdateMeasurements(new WeatherInformation()
            {
                Temperature = 80, Humidity = 30, Pressure = 1024
            });
            weatherData.EndTransmision();
            Console.Read();
        }
        public static void Main(string[] args)
        {
            WeatherMonitor monitor = new WeatherMonitor();
            ForecastDisplay forecast = new ForecastDisplay();
            CurrentConditionsDisplay currentConditions = new CurrentConditionsDisplay();
            StatisticsDisplay statistics = new StatisticsDisplay();
            HeatIndexDisplay heatIndex = new HeatIndexDisplay();

            monitor.SetMeasurments(new WeatherData(80, 65, 30.4f));
            forecast.Subscribe(monitor);
            currentConditions.Subscribe(monitor);
            statistics.Subscribe(monitor);
            heatIndex.Subscribe(monitor);
            monitor.SetMeasurments(new WeatherData(82, 70, 29.2f));
            statistics.Unsubscribe();
            monitor.SetMeasurments(new WeatherData(78, 90, 29.2f));
            monitor.SetMeasurments(null);
            //weatherData.SetMeasurments(82, 70, 29.2f);
            //weatherData.SetMeasurments(78, 90, 29.2f);
            Console.ReadLine();
        }