CMvcModel Class

class CMvcModel: public ISubject

A model is a kind of subject that serves as a base class for your application-specific models. There are generally two types of models: system-models and presentation-models. This distinction is purely conceptual. System-models are models that simulate or model some real world process or object. The system-model, in this case, is somewhat like a proxy or stand-in for the real thing. An presentation model is a model that represents application or presentation data and functionality.

Defined in: MvcModel.h

Class Members

CMvcModel()

Construct a model

virtual ~CMvcModel()

Destroys the model

ObserverVector m_observers

Array of observers

ULONG STDMETHODCALLTYPE AddRef()

Add a reference to this object.

ULONG STDMETHODCALLTYPE Release()

Release a reference to this object.

virtual void AddObserver(IObserver* pObserver)

Adds an observer to the list of dependents

virtual void RemoveObserver(IObserver* pObserver)

Removes an observer from the list of dependents

virtual void UpdateAllObservers(IObserver* pSender = NULL, IMessage* pMsg = NULL)

Broadcast a notification of change to all observers

virtual BOOL IsModified() const

Tests whether this model has been modified since its creation

virtual void Reset()

Reset the state of the model to its initial state