文档/视图结构的优点
要使用 MFC 文档/视图结构的主要优点是体系结构有很好支持同一文档的多个视图。(如果不需要多个视图,并且开销小文档/视图是在额外的应用程序,则您可以避开体系结构。 Alternatives to the Document/View Architecture.)
假定应用程序允许用户查看数据的数字电子表格形式或为图表形式。 用户可能希望同时查看原始数据,采用电子表格形式该图表数据的结果。 您可以显示各个单独视图在框架窗口或在一个窗口中的拆分器窗格。 现在假设用户可以编辑该电子表格的数据以及查看立即反映的更改在关系图上。
在 MFC 中,电子表格视图和图表视图基于 CView 派生的不同类。 两个视图将与单文件对象。 文档存储数据 (可能或获取其从数据库)。 它们从其检索的两个视图访问文档并显示数据。
在用户更新某个视图时,该视图对象调用 CDocument::UpdateAllViews。 从文档使用,的最新数据函数通知所有文档的视图以及每个视图将相应更新。 为 UpdateAllViews 的单个调用同步不同的视图。
特别是,如果视图存储数据,而数据的分离,视图的此方案难以代码。 文档/视图,非常容易。 框架为您完成大部分的协调工作。