JSF Model-View-Controller (MVC)

Yeni nesil Internet uygulamalarında karşımıza çıkan ilk kavramlardan biri, MVC açılımı Model-View-Controller. JSF de kendine örnek olarak MVC yapısını baz almaktadır.

  1. Model – Java sınıflarımız
  2. View – Görsel Sayfalarımız, önyüzümüz
  3. Controller – Servlet (Faces Servlet) olarak görülebilir.

JSF Referans kitabında konu ile alakalı şu resim olayı betimliyor.

Resimdeki örnek projeye göre daha da açarsak; Model katmanında Java Beans bulunurken (User.java, Account.java, Item.java, ShoppingCart.java, vb…), View katmanında xhtml sayfalarımız (showUser.xhtml, purchase.xhtml, editUser.xhtml vb…) bulunur ve bu sayfalar son kullanıcının gördüğü görsel sayfalardır. Tabi temelde işleri yöneten de Controller dediğimiz Faces Servlettir. Faces Servlet kavramını çok açmıyorum, JSF’in derinlerine başka bir yazıda inip inceleriz.

Sözün özü, kurumsal uygulamalarda (Java için JavaEE) katmanlar birbirinden ayrılmıştır. Sunum katmanı (View) son kullanıcıya yönelik, arka plana iş veren, görsel bir pozisyon üstlenirken, arka plandaki iş mantığını yapan (Model) ayrı bir katman olarak bulunmakta ve bunları da yöneten, kontrol eden (Controller) bir başka katman bulunmaktadır.

Yazılım dili bağımsız bir kavram olan MVC’yi, sanıyorum ki Java bilsin bilmesin herkes temelde bu gösterimle anlayabilir. 🙂 Anlamayan iletişime geçsin.

Kolay gelsin.

Şükrü Çakmak hakkında

1987 - insanı sever...
Bu yazı Java, JSF kategorisine gönderilmiş ve , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

JSF Model-View-Controller (MVC) için 4 cevap

  1. Geri izleme: JavaServer Faces 2 (JSF 2) | Şükrü Çakmak | Java / JSF / JPA / Seam

  2. Geri izleme: JSF 2 + PrimeFaces | Şükrü Çakmak | Java / JSF / JPA / Seam

  3. cenk der ki:

    Şükrü bey Faces Servlet controller konusuna bir girseniz . Bir yazı yazsanız çok makbule geçer

  4. http://www.sukrucakmak.com/javaserver-faces-2-jsf-2/ Burayı okurken burda buldum kendimi güzel anlatmışşınız elinize sağlık 🙂

cenk için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir