// 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(); }
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(); }