Compartir por


Ventajas de la arquitectura documento/vista

La ventaja clave para usar la arquitectura de documentos o vistas de MFC es que la arquitectura admite bastante bien varias vistas del mismo documento. (Si no se necesitan varias vistas y la pequeña sobrecarga del documento o vista es excesiva en la aplicación, se puede evitar la arquitectura. Alternativas a la arquitectura de documento/vista).

Supongamos que la aplicación permite a los usuarios ver datos numéricos en forma de una hoja de cálculo o en forma de un gráfico. Es posible que un usuario quiera ver simultáneamente los datos sin procesar, en forma de una hoja de cálculo y un gráfico que se derive de los datos. Estas vistas independientes se muestran en las ventanas de marco independientes o en los paneles divisores dentro de una sola ventana. Ahora suponga que el usuario puede editar los datos de la hoja de cálculo y ver los cambios reflejados al instante en el gráfico.

En MFC, la vista de la hoja de cálculo y la vista del gráfico se basarían en diferentes clases derivadas de CView. Ambas vistas se asociarían a un único objeto del documento. El documento almacena los datos (o quizás los obtiene de una base de datos). Ambas vistas acceden al documento y muestran los datos que obtienen de él.

Cuando un usuario actualiza una de las vistas, ese objeto de vista llama a CDocument::UpdateAllViews. Esa función notifica a todas las vistas del documento y cada vista se actualiza mediante los últimos datos del documento. La única llamada a UpdateAllViews sincroniza las distintas vistas.

Este escenario sería difícil de codificar sin la separación de los datos de la vista, especialmente si las vistas almacenaran los propios datos. Con documento/vista, es fácil. El marco hace la mayor parte del trabajo de coordinación por usted.

Qué más quieres saber

Consulte también

Arquitectura de vistas y documentos