예제 #1
0
        static void Main(string[] args)
        {
            var weatherData = new WeatherData();

            var currentConditionsReport = new CurrentConditionsReport();
            var statisticReport         = new StatisticReport();
            var foreCastReport          = new ForeCastReport();

            currentConditionsReport.Register(weatherData);
            statisticReport.Register(weatherData);
            foreCastReport.Register(weatherData);

            weatherData.MeasurementsChange(12, 23, 567);

            statisticReport.UnRegister(weatherData);

            weatherData.MeasurementsChange(1000, 2003, 9807);

            currentConditionsReport.UnRegister(weatherData);
            foreCastReport.UnRegister(weatherData);

            weatherData.MeasurementsChange(0, 0, 0);

            System.Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            WeatherData             weatherData             = new WeatherData();
            StatisticReport         statisticReport         = new StatisticReport();
            ForeCastReport          foreCastReport          = new ForeCastReport();
            CurrentConditionsReport currentConditionsReport = new CurrentConditionsReport();

            statisticReport.Register(weatherData);
            foreCastReport.Register(weatherData);
            currentConditionsReport.Register(weatherData);

            weatherData.MeasurementsChange(12, 32, 44);
        }
예제 #3
0
        static void Main(string[] args)
        {
            WeatherData weatherData             = new WeatherData();
            var         currentConditionsReport = new CurrentConditionsReport();

            currentConditionsReport.Register(weatherData);
            weatherData.MeasurementsChange(30, 232, 12);
            var statisticRepost = new StatisticReport();
            var foreCastReport  = new ForeCastReport();

            statisticRepost.Register(weatherData);
            foreCastReport.Register(weatherData);
            weatherData.MeasurementsChange(12, 23, 567);
        }
예제 #4
0
        static void Main(string[] args)
        {
            WeatherInfo             weatherInfo = new WeatherInfo();
            CurrentConditionsReport report1     = new CurrentConditionsReport();

            report1.Register(weatherInfo);
            StatisticReport report2 = new StatisticReport();

            report2.Register(weatherInfo);
            ForeCastReport report3 = new ForeCastReport();

            report3.Register(weatherInfo);
            weatherInfo.NewDay(12, 23, 567);
            weatherInfo.NewDay(18, 80, 357);
            weatherInfo.NewDay(18, 96, 357);

            report1.Unregister(weatherInfo);
            report2.Unregister(weatherInfo);
            report3.Unregister(weatherInfo);
        }
예제 #5
0
        static void Main(string[] args)
        {
            WeatherDataManager dataManager = new WeatherDataManager();

            CurrentConditionReport sub1 = new CurrentConditionReport();
            ForeCastReport         sub2 = new ForeCastReport();
            StatisticReport        sub3 = new StatisticReport();;

            sub1.Register(dataManager);

            dataManager.WeatherChange(100, 200, 300);

            sub2.Register(dataManager);
            sub3.Register(dataManager);

            dataManager.WeatherChange(100, 200, 300);

            sub2.Unregister(dataManager);
            dataManager.WeatherChange(100, 200, 300);

            System.Console.ReadKey();
        }