wxWidgets与MVVM模式 1
开始这个系列希望能找到一条路,能把MVVM的想法用到wxWidgets上.也希望能找到一个方法能把单元测试与界面结合在一起.
MVVM 示意图
就从Hello World! 开始吧,如下一个程序. 以点击次数来决定显示或不显示 “Hello BianBian!”.
代码如下, 绑定 OnClickButton 函数到 Button 的 EVT_BUTTON 的事件上.
这样数据,逻辑和UI就混合在一起,很不好. 不方便测试
Code Snippet
- void MyDialog::OnClickButton( wxCommandEvent& event )
- {
- static int clickNum=0;
- ++clickNum;
- wxString outSring;
- if (clickNum % 2) {
- outSring.assign(_T("Hello BianBian!"));
- }
- wxStaticText* pCtrl = (wxStaticText*) FindWindow(ID_LABEL);
- pCtrl->SetLabel(outSring);
- Layout();
- }
下一步的目标是, 界面与逻辑分离, 并能对逻辑进行测试.