示例#1
0
        private static void TestObserverPattern()
        {
            WeatherData         weatherData         = new WeatherData();
            TemperatureReporter temperatureReporter = new TemperatureReporter();

            CurrentConditionsDisplay  currentConditionsDisplay  = new CurrentConditionsDisplay(weatherData);
            StatisticsDisplay         statisticsDisplay         = new StatisticsDisplay(weatherData);
            ForecastDisplay           forecastDisplay           = new ForecastDisplay(weatherData);
            HeatIndexDisplay          heatIndexDisplay          = new HeatIndexDisplay(weatherData);
            CurrentTemperatureDisplay currentTemperatureDisplay = new CurrentTemperatureDisplay(temperatureReporter);

            Temperature t = new Temperature {
                Temp = 80
            };

            temperatureReporter.TemperatureChanged(t);

            t.Temp = 82;
            temperatureReporter.TemperatureChanged(t);
            Console.WriteLine(currentTemperatureDisplay.Display());

            t.Temp = 78;
            temperatureReporter.TemperatureChanged(t);
            Console.WriteLine(currentTemperatureDisplay.Display());

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

            Console.WriteLine(currentConditionsDisplay.Display());
            Console.WriteLine(statisticsDisplay.Display());
            Console.WriteLine(forecastDisplay.Display());
            Console.WriteLine(heatIndexDisplay.Display());
        }
示例#2
0
        static void Main(string[] args)
        {
            TemperatureMonitor  monitor  = new TemperatureMonitor();
            TemperatureReporter reporter = new TemperatureReporter();

            monitor.Subscribe(reporter);
            monitor.GetTemperature();
        }
示例#3
0
        static void Main(string[] args)
        {
            TemperatureSensor   monitor  = new TemperatureSensor();
            TemperatureReporter reporter = new TemperatureReporter();

            reporter.StartReporting(monitor);
            monitor.GetTemperature();
        }
示例#4
0
        static void Main(string[] args)
        {
            TemperatureSensor   sensor   = new TemperatureSensor();
            TemperatureReporter reporter = new TemperatureReporter();

            reporter.StartReporting(sensor);
            sensor.Notify();
        }
示例#5
0
        static void Main(string[] args)
        {
            TemperatureSensor <Temperature>   sensor   = new TemperatureSensor <Temperature>();
            TemperatureReporter <Temperature> reporter = new TemperatureReporter <Temperature>();

            reporter.StartReporting(sensor);
            sensor.GetTemperature();
        }
示例#6
0
        static void Main(string[] args)
        {
            TemperatureReporter reporter1 = new TemperatureReporter();
            TemperatureMonitor  monitor1  = new TemperatureMonitor();

            reporter1.Subscribe(monitor1);
            monitor1.GetTemperature();
        }
        static void Main(string[] args)
        {
            TemperatureReporter provider         = new TemperatureReporter();
            TemperatureMonitor  monitor_Indoors  = new TemperatureMonitor();
            TemperatureMonitor  monitor_Outdoors = new TemperatureMonitor();

            monitor_Outdoors.Subscribe(provider);
            monitor_Outdoors.GetTemperature();

            Console.Read();
        }
示例#8
0
    static void Main(string[] args)
    {
        TemperatureMonitor  provider  = new TemperatureMonitor();
        TemperatureReporter observer1 = new TemperatureReporter();

        observer1.Subscribe(provider);
        TemperatureReporter observer2 = new TemperatureReporter();

        observer2.Subscribe(provider);
        provider.GetTemperature();
    }
        static void Main(string[] args)
        {
            TemperatureSensor   sensor    = new TemperatureSensor();
            TemperatureReporter reporter  = new TemperatureReporter();
            TemperatureReporter reporter2 = new TemperatureReporter();

            reporter.StartReporting(sensor);
            reporter2.StartReporting(sensor);
            sensor.GetTemperature();
            reporter2.StopReporting();
            sensor.GetTemperature();
        }
示例#10
0
        static void Main(string[] args)
        {
            Console.WriteLine("hello hello hello hello hello hello hello hello hello hello ");

            TemperatureMonitor provider = new TemperatureMonitor();
            TemperatureReporter obs = new TemperatureReporter();

            provider.Subscribe(obs);
            provider.GetTemperature();

            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();

        }