SORU
7 Mart 2011, PAZARTESİ


MVC deseni ve SALINCAK

Gerçek bir kavramak için en zor olan tasarım desenleri birinde "gerçek SWİNG life" MVC deseni. Yaşadım epeyce yazılara bu sitede tartışmak desen, ama ben hala hissetmiyorum ben açık ve net bir anlayış nasıl yararlanmak için desen benim (Java SWİNG) uygulama.

Hadi bir tablo, metin alanları bir çift ve bir kaç düğmeleri içeren bir JFrame söyledim. Muhtemelen "JTable temel veri modeli. köprü için bir TableModel kullanırdım Ancak, tüm işlevler alanları, doğrulama alanları, düğme eylemleri ile birlikte kilitleme alanlar öder genellikle doğrudan JFrame giderdim. Ancak, bu desen Denetleyicisi ve Görünümü mix değil mi?

Bildiğim kadarıyla görebiliyorum, ben yönetmek için MVC deseni "doğru" Ne zaman uygulamaya bakıyor JTable (model), ama her şey çok çamurlu baktığımda tüm JFrame olarak bir bütün.

Gerçekten başkaları hakkında nasıl bu konu ile ilgili olarak duymak isterim. Nasıl bir tablo, alanlar ve kullanıcı için bazı düğmeler (MVC deseni kullanarak) bir kaç görüntü için ihtiyacınız olan ne biliyor musunuz?

CEVAP
7 Mart 2011, PAZARTESİ


Son derece MVC için size tavsiye edeceğim bir kitap hızıyla Kafa İlk Freeman ve Freeman tarafından Tasarım Desenleri olurdu. MVC oldukça geniş bir açıklama var.

Özet

  1. Kullanıcı — etkileşim görünüm.Kontrol cihazını alır eylemler ve onları yorumlar. Eğer bir düğmeye tıklayın, denetleyicisi çözmeye işi ne modeli nasıl olması gerektiği anlamına gelir ve manipüle eylem dayalı.
  2. Denetleyici modeli istiyor onun durumunu değiştirmek.Denetleyici zaman görünümü, bu konuda bir eylem alır olarak değiştirmek için Görünüm size sonuç. Örneğin, denetleyici ya da bazı devre dışı olabilir bu düğme veya menü öğeleri arayüzü.
  3. Denetleyici de olabilir görünümünü değiştirmek için isteyin.Bir şey olduğunda model değişiklikleri, ya dayalı aldığın bir eylem (tıklama gibi bir düğmesi) veya başka bir dahili değiştirin (çalma listesi gibi bir sonraki şarkı model bildirir başlamıştır), durumu değiştirildi görüntüleyin.
  4. Bu model durumuna zaman görünümü bildirir değişti. Bir modelde bir değişiklik olduğunda, ya aldığın bir eylem dayalı (bir düğmesi gibi) veya bazı diğer iç değişim (sonraki şarkı gibi playlist başladı), model durumu olduğu görüşünü bildirir değişti.
  5. Görünüm durumu için bu modeli istiyor. Görünüm durumu olur doğrudan modelden görüntüler. Model bildirdiğinde mesela yeni bir şarkı görüşünü başladı oyun, görünümü şarkı istekleri model ve görüntüler gelen bir isim. Görünümü de modeli isteyebilir devlet denetleyici sonucu görünümde biraz değişiklik istiyorum.

enter image description here Source (diye merak ediyorsanız ne bir "krem denetleyicisi", Oreo cookie, kumandayı olmak kremsi merkezi, manzarası olan üst bisküvi ve model olabilmek için altına bisküvi.)

Merak ediyorsanız......, here MVC deseni hakkında oldukça eğlenceli bir şarkı indirin!

Swing programlama ile karşılaşabileceği bir sorun MVC deseni ile SwingWorker ve EventDispatch iplik kodlarını içerir. Programınıza bağlı olarak, görünüm veya denetleyici SwingWorker genişletmek ve kaynak yoğun mantık yerleştirildiği doInBackground() yöntemi geçersiz kılmak olabilir. Bu kolay tipik bir MVC deseni ile kaynaşmış olabilir, ve Swing uygulamaları tipik bir örneğidir.

EDİT #1:

Ayrıca, önemli çeşitli desen kompozit bir tür olarak MVC düşünün. Örneğin, sizin model denetleyicisi Strateji desen kullanmak olsa da Gözlemci deseni (modeli gözlemci olarak kayıtlı olması Görünüm gerektiren) kullanılarak uygulanabilir.

EDİT #2:

Ayrıca özellikle sizin sorunuza cevap vermek istiyorum. Belli ki bir ActionListener uygulamaya sokacak Görünümünde düğmeleri, vb tablo, sergilemek gerekir. actionPerformed() yöntem, olay tespit ve kontrol sistemi (unutmayın görünümü denetleyicisi için bir başvuru içerir) ile ilgili bir yöntem gönderin. Bir düğmeye tıklandığında, olay görünümü denetleyicisi yöntemi gönderilen tarafından tespit edilir yani, kumandayı doğrudan düğme falan devre dışı bırakmak için Görünüm sorabilirsiniz. Sonra kumanda ile etkileşim ve modelini çoğunlukla alıcı ve ayarlayıcı yöntemleri, ve bazı Diğerleri ve gözlemciler kayıt bildirmek zorunda olacak) değiştirir. Modeli değiştirilmiş olarak, kayıtlı gözlemciler (bu durumda görünüm olacak) ile ilgili bir güncelleme arayacak. Bu nedenle, görünümü şimdi kendini günceller.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Россия

    Google Ро

    9 Temmuz 2007
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • sknbp

    sknbp

    16 Kasım 2006