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