using System.Collections;
public static void Main()
Console.WriteLine("Hello World");
public interface IObserver
void update(float temp, float humid, float press);
public interface ISubject
void registerObserver(IObserver ob);
void removeObserver(IObserver ob);
public interface IDisplayElement
public class WeatherData:ISubject
private ArrayList observers;
private float temperature;
observers = new ArrayList();
public void registerObserver(IObserver ob)
public void removeObserver(IObserver ob)
int i = observers.IndexOf(ob);
public void notifyObservers()
for(int i=0; i< observers.Count; i++)
IObserver observer = (IObserver)observers[i];
observer.update(temperature, humidity, pressure);
public void measurementsChanged()
public void setMeasurements(float temperature, float humidity, float pressure)
this.temperature = temperature;
this.humidity = humidity;
this.pressure = pressure;
public class CurrentConditionsDisplay: IObserver, IDisplayElement
private float temperature;
private ISubject weatherData;
public CurrentConditionsDisplay(ISubject weatherData)
this.weatherData = weatherData;
weatherData.registerObserver(this);
public void update(float temperature, float humidity, float pressure)
this.temperature = temperature;
this.humidity = humidity;
Console.WriteLine("Current conditions: "+ temperature+"F degress and "+humidity+"% humidity");