Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den största fördelen med att använda MFC-dokument-/vyarkitekturen är att arkitekturen stöder flera vyer av samma dokument särskilt bra. (Om du inte behöver flera vyer och den lilla mängden dokument/vy är överdriven i ditt program kan du undvika arkitekturen. Alternativ till dokument-/vyarkitekturen.)
Anta att ditt program låter användare visa numeriska data antingen i kalkylbladsform eller i diagramform. En användare kanske vill se både rådata i kalkylbladsform och ett diagram som är resultatet av data samtidigt. Du visar dessa separata vyer i separata ramfönster eller i delningsfönster i ett enda fönster. Anta nu att användaren kan redigera data i kalkylbladet och se ändringarna som visas direkt i diagrammet.
I MFC baseras kalkylbladsvyn och diagramvyn på olika klasser som härletts från CView. Båda vyerna skulle associeras med ett enda dokumentobjekt. Dokumentet lagrar data (eller kanske hämtar dem från en databas). Båda vyerna har åtkomst till dokumentet och visar de data som de hämtar från det.
När en användare uppdaterar en av vyerna anropar CDocument::UpdateAllViews visningsobjektet. Den funktionen meddelar alla dokumentvyer och varje vy uppdateras med hjälp av de senaste data från dokumentet. Det enda anropet till UpdateAllViews synkroniserar de olika vyerna.
Det här scenariot skulle vara svårt att koda utan att separera data från vyn, särskilt om vyerna lagrade själva data. Med dokument/vy är det enkelt. Ramverket utför det mesta av samordningsarbetet åt dig.