最近公司需要接手一个很老的MFC项目,看到凌乱的目录结构,一个个超过7000行的代码文件,深深质疑难道写MFC不用MVC设计模式 ,于是百度下,其实是有的。
MVC结构模式,如下图所示:
在MFC中实现经典的MVC结构,如下图所示:
注意:
1、Document和View之间的绑定:View绑定到Document。
2、Frame作为Controller时,由于可以接收到输入消息,比较适合充当控制器。但是,由于视图和文档绑定,所以在切换视图时需要将视图和文档分离开,然后再进行切换。
3、View作为Contrller时,由于该视图和文档是绑定的,所以,可以通过该视图将其他视图与文档关联起来,其他视图并不直接和文档绑定。因此,可以通过隐藏和显示视图来实现不同视图之间的切换。
4、MFC的Doc/View结构本质上就是MVC结构,是MVC结构的一种实现,但是对MVC结构进行了简化。