Soru MVP-Passive View ve MVP-Supervising denetleyicisi nedir


Lütfen basit bir örnekle, MVP-Pasif Görünüm ve MVP-Supervising kontrolörü arasındaki farkları açıklayınız. Kontrol ile verilerin nasıl bağlandığını ve girişin her iki mvp tekniği - Pasif Görünüm ve Denetleyici denetleyici ile nasıl doğrulandığını göstermek daha iyi olacaktır. Teşekkürler


32
2018-03-21 18:18


Menşei




Cevaplar:


Fark, görünüm katmanı güncellemelerinde.

İtibaren Model-Görünüm-Sunum modeli MSDN'de sayfa:

Model güncellendiğinde, görünüm ayrıca değişiklikleri yansıtacak şekilde güncellenmelidir. Görünüm güncellemeleri çeşitli şekillerde ele alınabilir. Model-View-Presenter değişkenleri, Pasif Görünüm ve Denetleme Denetleyici, görünüm güncellemelerini uygulamak için farklı yaklaşımlar belirler.

İçinde Pasif GörünümSunucu, görünümü modeldeki değişiklikleri yansıtacak şekilde günceller. Modelle etkileşim sadece sunucu tarafından ele alınır; görünüm modeldeki değişikliklerin farkında değildir.

İçinde Denetleyici Denetleyicigörünüm, sunucu müdahalesi olmadan, deklaratif olarak tanımlanabilecek basit veri bağlama işlemini gerçekleştirmek için modelle doğrudan etkileşir. Sunucu, modeli günceller; Görüntülemenin durumunu, yalnızca deklaratif olarak belirtilemeyen karmaşık UI mantığının gerekli olduğu durumlarda işler. Karmaşık UI mantığının örnekleri, bir kontrolün rengini değiştirmek veya dinamik olarak gizleme / gösterme kontrollerini içerebilir. Şekil 1, Pasif Görünüm ve Denetleyici Denetleyici varyantlarının mantıksal görünümünü göstermektedir.

Kullanma kararı Pasif Görünüm veya Denetleyici Denetleyici öncelikle uygulamanızın nasıl olmasını istediğinize bağlıdır. Test edilebilirlik, uygulamanızda öncelikli bir endişe ise, Pasif Görünüm daha uygun olabilir, çünkü tüm kullanıcı arayüzü mantığını, sunucuyu test ederek test edebilirsiniz. Öte yandan, kod sadeliğini tam test edilebilirlik üzerinde tercih ederseniz, Denetleyici Denetleyici daha iyi bir seçenek olabilir, çünkü basit UI değişiklikleri için, görüntüleyiciyi görünümü güncelleyen bir kod eklemeniz gerekmez. Pasif Görünüm ve Denetleyici Denetleyici arasında seçim yaparken, aşağıdakileri göz önünde bulundurun:

  • Her iki varyant, sunum mantığınızın test edilebilirliğini artırmanıza izin verir.
  • Pasif Görünüm genellikle tüm denetleme güncelleme mantığı sunucuya yerleştirildiğinden, Denetleyici Denetleyicisinden daha büyük bir test yüzeyi sağlar.
  • Denetleyici Denetleyici, sunucu, basit görünüm güncelleştirmelerini gerçekleştirmediğinden, genellikle Pasif Görünüm'den daha az kod gerektirir.

Daha fazla okuma:

Pasif Görünüm:

http://martinfowler.com/eaaDev/PassiveScreen.html

http://codebetter.com/jeremymiller/2007/05/31/build-your-own-cab-part-4-the-passive-view/

Denetleyici denetleyici:

http://martinfowler.com/eaaDev/SupervisingPresenter.html

http://codebetter.com/jeremymiller/2007/05/25/build-you-own-cab-part-3-the-supervising-controller-pattern/


56
2018-03-21 18:32