Stock
public delegate void PriceChangeDelegate(Stock aStock);
public class Stock
{
public event PriceChangeDelegate PriceChangeHandler;
protected string symbol;
protected double price;

public Stock( string symbol, double price )
{
this.symbol = symbol;
this.price = price;
}
public void Notify()
{
if(PriceChangeHandler != null)
PriceChangeHandler(this);
}
// Properties
public double Price
{
get{ return price; }
set{ price = value;}
}

public string Symbol
{
get{ return symbol; }
set{ symbol = value; }
}
}
Inversotr
interface IInvestor
{
void Update(Stock aStock);
}

public class Inverstor : IInvestor
{
private string name;

// Constructors
public Inverstor( string name )
{
this.name = name;
}

IInvestor 成员

}
前台程序
ObserverAdvance.Inverstor Koffer = new ObserverAdvance.Inverstor("My WebSite");
ObserverAdvance.Stock HuaxiaStock = new ObserverAdvance.Stock("HuaXiaIT",100);
HuaxiaStock.PriceChangeHandler += new ObserverAdvance.PriceChangeDelegate(Koffer.Update);
HuaxiaStock.Price = 200;
HuaxiaStock.Notify();
Inversotr
前台程序
浙公网安备 33010602011771号