Vantagens da arquitetura de documento/exibição

A principal vantagem de usar a arquitetura de documento/exibição MFC é que ela oferece suporte a várias exibições do mesmo documento particularmente bem. (Se você não precisar de várias exibições e a pequena sobrecarga de documento/exibição for excessiva para o aplicativo, você poderá evitar a arquitetura. Alternativas à Arquitetura de documento/exibição).

Suponha que seu aplicativo permita que os usuários exibam dados numéricos no formulário de planilha ou no formulário do gráfico. Talvez um usuário queira ver simultaneamente dados brutos, formulários na planilha e um gráfico resultante dos dados. Você exibe essas visualizações separadamente em janelas de quadro separadas ou em painéis divisores em uma única janela. Agora, suponha que o usuário possa editar os dados na planilha e ver as alterações refletidas instantaneamente no gráfico.

No MFC, o modo de exibição de planilha e o modo de exibição de gráfico seriam baseados em diferentes classes derivadas de CView. Ambas as exibições seriam associadas a um único objeto de documento. O documento armazena os dados (ou talvez os obtenha de um banco de dados). Ambas as exibições acessam o documento e exibem os dados que recuperam dele.

Quando um usuário atualiza um dos modos de exibição, esse objeto de exibição chama CDocument::UpdateAllViews. Essa função notifica todos os modos de exibição do documento e cada exibição se atualiza usando os dados mais recentes do documento. A chamada única para UpdateAllViews sincroniza os diferentes modos de exibição.

Seria difícil codificar esse cenário sem a separação dos dados da exibição, principalmente se as próprias exibições armazenassem os dados. Com documento/exibição, é fácil. A estrutura faz a maior parte do trabalho de coordenação para você.

O que mais você deseja saber?

Confira também

Arquitetura de documento/exibição