MVC框架模式

来源:互联网 发布:淘宝上店家不发货 编辑:程序博客网 时间:2024/04/29 00:54

1、控制类中有业务类和画面类

map<VIEWID_FORM, CModelBase*> m_ControllerMap;

控制类决定具体画面的处理交给哪个业务类处理

主要接口:

(1) virtual int AddController(VIEWID_FORM apxVid, CModelBase * pModel);

(2) virtual int RemoveController(VIEWID_FORM apxVid, CModelBase * pModel);

(3) virtual int ExcuteController(VIEWID_FORM apxVid, VIEWID_CON nControllerId, UINT nChar, CString sInput);  

(4) virtual CModelBase *FindModel(VIEWID_FORM apxVid);

(5) virtual BOOL OnHandle();线程函数,进行业务消息转发

2、业务类中有画面类

list<CViewBase*> m_CViewList;

记录这个业务类关联的画面有哪些

主要接口:

(1) virtual void Attach(CViewBase*);

(2) virtual void Detach(CViewBase*);

(3) virtual void Notify();

(4) virtual void Notify(const void *pData);

(5) virtual int EventHandler(VIEWID_CON nControllerId, UINT nChar, CString sInput);被控制类OnHandler调用,将具体的业务转发给业务类处理

(6) virtual CViewBase* GetFormPointer (int);
 
(7) virtual CViewBase* GetShowForm();

3、画面类中有校验类

CCheckBase* m_pChecker; 

CCheckBase* m_pDefaultChecker;

主要接口:

 virtual void Show (); 

 virtual void Hide ();

 virtual void Add (const CViewBase* pCom);组合控件:此画面有哪些控件组成

 virtual void Remove (const CViewBase* pCom);

 virtual CViewBase* GetChild (int);
    
 virtual void SetActive ();    

 virtual void SetPassive ();   

 virtual CString GetString (void);    

 virtual void SetString (CString sSetString);  
   
 virtual BOOL ProcessMessage (UINT nChar, WPARAM wParam = 0);

 virtual void UpdateView ();

 virtual void UpdateView (const void *pData);

 virtual void SetChecker (CCheckBase* pChecker);

 virtual VIEWID_FORM GetFormId();

 

原创粉丝点击