观察者模式实现1
来源:互联网 发布:java asm 修改方法 编辑:程序博客网 时间:2024/04/28 08:03
public interface ISubject
{
void register(IObserver o);
void remove(IObserver o);
void notify();
}
public interface IObserver
{
void update(float temp,float humidity,float pressure);
}
public class ObserverA:IObserver
{
private float temperature;
private float humidity;
private ISubject iweatherData;
public ObserverA(ISubject iweatherData)
{
this.iweatherData = iweatherData;
iweatherData.register(this);
}
public void update(float temperature, float humidity, float pressure)
{
this.temperature = temperature;
this.humidity = humidity;
display();
}
public void display()
{
Console.WriteLine("temperature:" + temperature);
}
}
public class Weatherdata : ISubject
{
private List<IObserver> observers;
private float temperature;
private float humdity;
private float pressure;
public Weatherdata()
{
observers = new List<IObserver>();
}
public void register(IObserver o)
{
observers.Add(o);
}
public void remove(IObserver o)
{
observers.Remove(o);
}
public void notify()
{
for (int i = 0; i < observers.Count; i++)
{
IObserver observer = observers[i];
observer.update(temperature, humdity, pressure);
}
}
public void setMeasurements(float temperature, float humidity, float pressure)
{
this.temperature = temperature;
this.humdity = humidity;
this.pressure = pressure;
notify();
}
}
class Program
{
static void Main(string[] args)
{
Weatherdata data = new Weatherdata();
ObserverA oa = new ObserverA(data);
data.setMeasurements(80, 60, 40);
Console.Read();
}
}
- 观察者模式实现1
- U3D观察者模式,实现1对多
- 观察者模式 python实现
- Java实现观察者模式
- Java实现观察者模式
- 观察者模式实现
- 观察者模式独自实现
- 观察者模式c++实现
- JS实现观察者模式
- C++实现观察者模式
- C++实现观察者模式
- c++实现观察者模式
- 观察者模式 C++ 实现
- 观察者模式-java实现
- 观察者模式lua实现
- javascript 观察者模式实现
- 观察者模式----C++实现
- 观察者模式--lua实现
- 详谈 IEnumerator 和 IEnumberator
- 我只是一个写手
- Struts(一)
- SalesRouting
- C++中class与struct的区别
- 观察者模式实现1
- java一个多线程的经典例子
- Welcome To Bryan Waston's X-dimension Space
- 观察者模式实现2--事件
- Struts(二)
- PECompact v2.92 (Jul 13 2008)
- 在关系数据库中保存大量XML文档
- 函数指针及回调函数
- ResultSet can not re-read row data for column X 解决办法