2016-04-12 13 views
1

JSF hakkında the wiki page'dan MVP çerçevesi olarak kabul edildiğini öğrendim. Ama nedenini gerçekten anlayamıyorum.JSF neden MVP olarak kabul edilir, MVVM çerçevesi değil

Actully, fasulyelerin kendi içlerinde bir referans içermiyor. Ayrıca Facelets ve Yönetilen fasulye arasında bir veri teklifi mekanizması var.

Yani o Presenter genellikle in that example gibi kendi içinde bir View arabirimini içerdiğinden Yönetilen Fasulye, Presenter daha ViewModel daha olduğunu söyleyebilirim.

SORU: Neden JSF kabul edilir MVP ancak MVVM çerçeve?

cevap

1

MVVM, çoğunlukla masaüstü uygulama odaklı bir modeldir. Web uygulaması perspektifinde MVVM göz önüne alındığında, müşteri tarafında bir kontrolör olacaktır. JSF böyle bir şeye sahip değil. Web uygulamaları hakkında konuştuğunuzda, örn. Sunucu tarafındaki yay MVC, ör. İstemci tarafında AngularJS veya Node.js, MVVM hakkında konuşabilirsiniz.

+0

_there, istemci tarafında bir denetleyici olabilir. Bunun nedenini tam olarak açık değil. [MVVM Vikipedi açıklamasında] (https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel) ViewModel'in (web uygulamaları için istemci veya sunucu) nerede olduğu konusunda net kısıtlamalar yoktur. olmak. Ve bir şey daha. JSF'de sunum yapan kişi o zaman. Yönetilen fasulye birkaç farklı facelette kullanılabilirdi ... Onlara sunumcu demezdim. –

+0

Görüntü teknolojisi, sunum yapan kişidir. Önceden bu JSP için "zor" olarak ayarlandı. JSF 1.2'den beri API, "ViewHandler" ile farklı bir sunum yapan tanımlamaya izin verir. Bu daha sonra ['ViewDeclarationLanguage'] 'a (http://docs.oracle.com/javaee/7/api/javax/faces/view/ViewDeclarationLanguage.html) (VDL) eklenir, burada temel olarak MVC'den MVP'ye geçilir. XML tabanlı sunumlar, diğerlerinin yanı sıra JSF 2.0'dan beri varsayılan sunucu olan Facelets icat edildi. Hatta (deneysel) saf Java tabanlı sunumlar vardır, Google'da anahtar kelimeyi [JavaVDL] (http://google.com/search?q=javavdl) kullanarak bulabilirsiniz. – BalusC