wxWidgets与MVVM模式 1

    开始这个系列希望能找到一条路,能把MVVM的想法用到wxWidgets上.也希望能找到一个方法能把单元测试与界面结合在一起.

    MVVM 示意图

     

 

    就从Hello World! 开始吧,如下一个程序. 以点击次数来决定显示或不显示 “Hello BianBian!”.

                              

    代码如下, 绑定 OnClickButton 函数到 Button 的 EVT_BUTTON 的事件上.

    这样数据,逻辑和UI就混合在一起,很不好. 不方便测试

   

Code Snippet
  1. void MyDialog::OnClickButton( wxCommandEvent& event )
  2. {
  3.     static int clickNum=0;
  4.     ++clickNum;
  5.     wxString outSring;
  6.     if (clickNum % 2) {
  7.         outSring.assign(_T("Hello BianBian!"));
  8.     }
  9.     
  10.     wxStaticText* pCtrl = (wxStaticText*) FindWindow(ID_LABEL);
  11.     pCtrl->SetLabel(outSring);
  12.     Layout();
  13. }

 

    下一步的目标是, 界面与逻辑分离, 并能对逻辑进行测试.

posted @ 2012-03-10 17:05  柿子院  阅读(526)  评论(0编辑  收藏  举报