Belge/Görünüm Mimarisi
Varsayılan olarak, MFC Uygulama Sihirbazı belge sınıfı ve görünüm sınıfı ile bir uygulama iskeleti oluşturur. MFC, veri yönetimini bu iki sınıfa ayırır. Belge verileri depolar ve verileri yazdırmayı yönetir ve verilerin birden çok görünümünün güncelleştirilmesini koordine eder. Görünüm verileri görüntüler ve seçim ve düzenleme de dahil olmak üzere kullanıcı etkileşimini yönetir.
Bu modelde, bir MFC belge nesnesi verileri okur ve kalıcı depolama alanına yazar. Belge, bulunduğu her yerde (örneğin, bir veritabanında) verilere bir arabirim de sağlayabilir. Ayrı bir görünüm nesnesi, verilerin bir pencerede işlenmesinden kullanıcı seçimine ve verilerin düzenlenmesine kadar veri görüntülemeyi yönetir. Görünüm, görüntü verilerini belgeden alır ve veri değişiklikleriyle belgeyle geri iletişim kurar.
Belge/görünüm ayrımını kolayca geçersiz kılabilir veya yoksayabilirsiniz ancak çoğu durumda bu modeli takip etmek için cazip nedenler vardır. En iyilerinden biri, hem elektronik tablo hem de grafik görünümü gibi aynı belgenin birden çok görünümüne ihtiyacınız olmasıdır. Belge/görünüm modeli ayrı bir görünüm nesnesinin verilerin her görünümünü temsil etmesine olanak tanırken, tüm görünümlerde ortak olan kod (hesaplama altyapısı gibi) belgede bulunabilir. Belge, veriler her değiştiğinde tüm görünümleri güncelleştirme görevini de üstlenir.
MFC belge/görünüm mimarisi birden çok görünümü, birden çok belge türünü, bölücü pencereleri ve diğer değerli kullanıcı arabirimi özelliklerini desteklemeyi kolaylaştırır.
MFC çerçevesinin hem kullanıcıya hem de programcıya en çok görünür olan bölümleri belge ve görünümlerdir. Çerçeveyle uygulama geliştirme çalışmalarınızın çoğu belgenizi yazmaya ve sınıfları görüntülemeye gider. Bu makale ailesi şunları açıklar:
Belge ve görünümlerin amaçları ve çerçevede nasıl etkileşimde bulundukları.
Bunları uygulamak için yapmanız gerekenler.
Belgenin/görünümün merkezinde dört temel sınıf vardır:
CDocument (veya COleDocument) sınıfı, programınızın verilerini depolamak veya denetlemek için kullanılan nesneleri destekler ve programcı tanımlı belge sınıfları için temel işlevleri sağlar. Belge, kullanıcının normalde Dosya menüsündeki Aç komutuyla açtığı ve Dosya menüsündeki Kaydet komutuyla kaydettiği veri birimini temsil eder.
CView (veya birçok türetilmiş sınıfından biri) programcı tanımlı görünüm sınıfları için temel işlevselliği sağlar. Bir görünüm belgeye eklenir ve belgeyle kullanıcı arasında aracı görevi görür: görünüm, ekranda belgenin bir görüntüsünü işler ve kullanıcı girişini belge üzerinde işlem olarak yorumlar. Görünüm ayrıca hem yazdırma hem de baskı önizleme için görüntüyü işler.
CFrameWnd (veya çeşitlemelerinden biri), belgenin bir veya daha fazla görünümünün etrafındaki çerçeveyi sağlayan nesneleri destekler.
CDocTemplate (veya CSingleDocTemplate veya CMultiDocTemplate), belirli bir türdeki bir veya daha fazla mevcut belgeyi koordine eden ve bu tür için doğru belge, görünüm ve çerçeve penceresi nesnelerini oluşturmayı yöneten bir nesneyi destekler.
Aşağıdaki şekilde, belgeyle görünümü arasındaki ilişki gösterilmektedir.
Belge ve Görünüm
Sınıf kitaplığındaki belge/görünüm uygulaması, verilerin kendisini kendi görüntüsünden ve verilerdeki kullanıcı işlemlerinden ayırır. Verilerde yapılan tüm değişiklikler belge sınıfı aracılığıyla yönetilir. Görünüm, verilere erişmek ve verileri güncelleştirmek için bu arabirimi çağırır.
Belgeler, ilişkili görünümleri ve görünümleri çerçeveleyen çerçeve pencereleri bir belge şablonu tarafından oluşturulur. Belge şablonu, tek bir belge türündeki tüm belgeleri oluşturmak ve yönetmekle sorumludur.
Ne hakkında daha fazla bilgi edinmek istiyorsunuz?
Uygulama Sihirbazı tarafından oluşturulan belge ve görünüm sınıfları
Veritabanı sınıflarını belgeler ve görünümler olmadan kullanma
Ayrıca bkz.
Kullanıcı Arabirimi Öğeleri
Windows
Çerçeve Pencereleri
Belge Şablonları ve Belge/Görünüm Oluşturma İşlemi
Belge/Görünüm Oluşturma
Yeni Belgeler, Pencereler ve Görünümler Oluşturma