class TObservable;
class TObserver {
public:
virtual void Update(const TObservable *Observable, Variant v);
};
class TObservable {
public:
void AddObserver(TObserver *Observer) { ObserverList.push_back(Observer); }
void RemoveObserver(TObserver *Observer){ ObserverList.remove(Observer); };
void NotifyObservers(Variant v) {
for(std::list<TObserver*>::iterator iter = ObserverList.begin();
iter != ObserverList.end(); ++iter)
{
(*iter)->Update(this, v);
}
}
private:
std::list<TObserver*> ObserverList;
};
想让数据驱动界面来着,一套数据可能有多个界面,MVC模式怎么搞?


这山望着那山高


