怎么实现界面与网络通讯逻辑分离

如何实现界面与网络通讯逻辑分离
一般新建的MFC项目都会有一个主对话框,而这个主对话框是在InitInstance()里DoModal()显示的.
而我希望在app里加入通讯代码,而不是在对话框里.这样可以实现网络通讯和界面分离.
但是DoModal()后,app将会阻塞,无办法运行其它逻辑.
如果采用Create方式建立对话框,则InitInstance()会马上退出,即程序退出了.

望高手指点一下.

------解决方案--------------------
既然选择基于对话框的工程,建立主对话框说是必须的,而主对话框本身就是阻塞的。
通信可以使用用户界面线程,在主窗口的初始化时建立并启动,之后两者间使用消息进行通信,两者间的任何活动都不会有牵连。
------解决方案--------------------
基于对话框的MFC程序主对话框可以非模态:
程序InitInstance()的时候new一个对话框并创建,同时给主窗体赋值,InitInstance注意返回TRUE,就不用DoModal的方式开模态对话框了。ExitInstantce()的时候别忘了把New出来的对话框释放掉;

不过楼上几位说的也对,网络通信处理要单独线程处理;按说你即使用模态对话框也能做到界面和逻辑分离啊..