在此举个小例,就拿对话框程序而言,我将类分为了CMainInfo(M)、CMainDlg(V)和CMainCtrl(C) 三个。业务逻辑全部封装到CMainInfo类中,界面的必然在CMainDlg里边,而CMainDlg和CMainInfo的交互在CMainCtrl中处理。               
    但有的时候 CMainDlg 里边的控件多了就麻烦了,必须在 CMainCtrl中存储  CMainDlg 里边控件的指针。假如控件多了……  更可怕的是有时候分不清什么是什么了,直接把CMainDlg的指针给CMainCtrl传过去,所有控件都在CMainCtrl里边创建——这时候真的就乱了——感觉界面逻辑都跑到C中去了。
    汗, 求讨论……

解决方案 »

  1.   

    lz是不是有笔误啊,业务逻辑全部封装到CMainInfo类中,应该是CMainCtrl吧。
    控件是属于View层的,为什么指针要存到CMainCtrl中呢,不太明白。
    MFC中的SDI和MDI就是很好的MVC的例子啊,View来表示,Document来存储数据,业务逻辑全在消息循环中,当然消息循环是在View,Document和Fream类中处理的,所以显的不够完全分离,但是其实你自己可以写一些处理业务的类,让消息处理函数去调用,这样还是很清楚的。
    我感LZ可以在这个基础上参照参照。