İçerik Birimleri – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
WebML’yi MVC Mimarisi ile Eşleştirme
Bir WebML uygulamasının MVC 2 mimarisine eşlenmesi, genel “kutuları” WebML’ye özgü öğelerle dolduran resimli olarak gösterilmiştir. Bu bölümün geri kalanında, temel WebML temel öğelerinin (sayfalar, birimler, bağlantılar ve işlemler) uygulanmasının görünen bileşenleri nasıl kullandığını tartışacağız.
WebML Sayfalarını MVC Mimarisi ile Eşleştirme
Her WebML sayfası dört öğeye eşlenir: 1) Model’de bir sayfa eylemi, 2) iş katmanında bir sayfa hizmeti, 3) Görünüm’de bir JSP şablonu ve 4) Denetleyicinin yapılandırma dosyasında bir sayfa eylemi eşlemesi.
Sayfa eylemi, bir eylem sınıfının bir örneğidir: HTTP isteğinden girdiyi çıkarır ve iş katmanındaki sayfa hizmetini çağırarak gerekli parametreleri ona iletir. Çağrılan sayfa hizmeti sona erdiğinde, sayfa eylemi Kontrolöre sayfa hesaplamasının sonucunu bildirir.
Sayfa hizmeti, bir sayfanın hesaplanmasını destekleyen bir iş işlevidir. Gösterilen algoritmaya göre parametre yayılımını ve birim hesaplama sürecini yürütmek için çağrılan tek bir hesaplama sayfası() işlevini ortaya çıkarır.
Sayfa hizmeti, Modeldeki durum nesnelerini günceller: sayfa hizmeti yürütmesinin sonunda, sayfa birimlerinin (birim çekirdekleri olarak adlandırılır) veri alma sorgularının sonucunu depolayan tüm JavaBeans’ler Görünüm için kullanılabilir.
Görünümdeki sayfa şablonu, Modelin içeriğine bağlı olarak kullanıcıya gönderilecek HTML sayfasını hesaplar. Sayfa şablonu, birimlerin yerleştirildiği düzeni tanımlamak için gereken statik HTML’yi ve WebML birimlerinin yorumunu uygulayan özel etiketleri içerir.
Eylem eşleme, kullanıcının isteğini, sayfa eylemini ve sayfa görünümünü birbirine bağlayan Kontrolörün yapılandırma dosyasına yerleştirilmiş bir bildirimdir.
Şimdi, JSP şablonu tarafından uygulanan NewsCategories sayfasını çalışan bir örnek olarak kullanarak bu bölümlerin her birini ayrıntılı olarak gösteriyoruz.
- Sayfa eylemleri ve sayfa hizmetleri arasındaki etkileşimi gösteren, HaberlerKategoriler sayfasıyla ilişkili sayfa eyleminin kodunu gösterir.
- Sayfa eylemi, Action (satır 1) adlı temel sınıfı genişleten bir Java sınıfıdır. Action sınıfı, sayfayı hesaplamak için Denetleyici tarafından çağrılan, perform (3. satır) adlı standart bir işlevi tanımlar.
Gerçekleştirme işlevi, iş katmanıyla etkileşimi kapsar: örneğinde, öncelikle HaberKategorileri sayfası için bir hizmet oluşturulur (satır 7); daha sonra, böyle bir sayfa hizmeti, istekten getirilecek parametrelerin adlarını almak için bir yardımcı işlev (getPageParameterNames) aracılığıyla sorgulanır (satır 9); bu parametreler aslında istekten, sayfa hizmeti ile sayfa eylemi arasında iletişim kurmak ve sayfanın durumunu depolamak için kullanılan durum adı verilen (satır 10) bir yardımcı veri yapısına kopyalanır; böyle bir veri yapısı bir Java haritasıdır, yani bir dizi isim-değer çiftidir.
Temel birimler
Temel birimler ve bunların Uluslararası tanımları
Temel birimler ve bunların Uluslararası tanımları PDF
İçerik analizi makale
Ağırlık SI birimi
Sıcaklık SI birimi
Betimsel içerik analizi
Sosyal Bilimlerde içerik analizi nedir
Ardından, sayfa hizmetinin (satır 12) hesaplamaPage işlevi çağrılarak gerçek sayfa iş mantığı tetiklenir: işlev, durum haritasını girdi olarak alır ve onu çeşitli sayfa birimlerinin veri çekirdekleriyle doldurur. Eylem, güncellenmiş durumu istek nesnesine geri kaydederek (satır 15), böylece Görünüm şablonlarında kullanılabilir hale getirerek ve eylem yürütmenin sonucunu gösteren bir nesneyi Denetleyiciye döndürerek sona erer.
Gösterilen sayfa şablonunun yapısı ile ilgili olarak, örneklenen sayfa eylemi, istek parametrelerinin alınması için kodun dışında tutulur ve iş mantığı hizmetleriyle diyaloğu içine alır.
Gösterilen sayfa hizmeti, sayfanın içerikten bağımsız tek bir birim içermesi nedeniyle, Sayfa HaberKategorileri sayfasında oldukça önemsiz olan birimlerin yürütülmesini ve parametrelerin yayılmasını kapsar.
Sayfa hizmeti, gösterilen sayfa eylemi sınıfı tarafından çağrılan iki işlevi uygulayan bir Java sınıfıdır (NewsCategoriesPageService); function hesaplamaPage, NewsCategories dizin birimi (satır 13) için birim hizmetinin bir örneğini oluşturur ve dizin biriminin içeriğini hesaplayan yürütme yöntemini (satır 14) çağırır.
Böyle bir çağrıda, durum nesnesi, veri alma sorgusunun sonucunu içinde depolayan birim hizmetine iletilir. Birim hizmetleri, WebML birimlerinin davranışını kapsayan nesnelerdir; tarif edilirler.
NewsCategories sayfası için sayfa şablonunun bir iskeleti gösterilir. Şablon, özel bir etiket kitaplığının eklenmesiyle başlar. Dahil edilen kitaplık “webml” olarak adlandırılır ve tüm etiketlerinin, onları normal HTML etiketlerinden ayıran webml: öneki ile başlayan bir adı vardır.
Ardından şablon, sayfanın statik kısmı için normal HTML işaretlemesini içerir. İndeks biriminin sunulması gerektiğinde, göstereceğimiz gibi WebMLtag kitaplığının özel etiketleri kullanılır.
Denetleyicide, NewsCategories sayfası, yapılandırma dosyasına gösterilen XML parçasına katkıda bulunur. Eylem eşlemesinin ilk satırı, “NewsCategories” dizesini içeren bir URL ile istemci istekleri ve “NewsCategoriesAction” adlı eylem sınıfı arasında bir bağ olduğunu bildirir. Denetleyici bu belirtime uyan bir istek aldığında, NewsCategoriesAction sınıfının bir nesnesini oluşturur ve perform() işlevini çağırır.
Eylem etiketinin içine yerleştirilmiş forward öğesi, eylem tamamlandıktan sonra ne yapılacağını bildirir. Bir sayfa söz konusu olduğunda, basitlik için veri alma sorgularının başarısız olmadığını varsaydık ve bu nedenle, sayfayla ilişkili Görünümün çağrılmasına karşılık gelen tek bir olası sonucu (“başarı”) tanımladık.
MVC sorumluluk bölümüne göre, daha sonra ne yapılacağına Denetleyici karar verir, eylem sınıfına değil, Denetleyiciye eylemin sonucunu simgeleyen bir nesneyi geri döndürür, ancak NewsCategories adlı Görünüm şablonu hakkında bilgi sahibi değildir.
İçerik Birimlerini MVC Mimarisi ile Eşleştirme
Birimler, sayfalara benzer, ancak daha küçük ölçekte bir sorumluluk bölümüne sahiptir.
- Görünüm açısından bakıldığında, içerik üretiminden birimler sorumludur. Bu içerik dizin, çoklu veri, kaydırma çubuğu ve veri birimleri için dinamik veya giriş birimleri için statik olabilir.
- Model perspektifinden, her birim, yanıtı oluşturmak için Görünüm tarafından kullanılan durum bilgisine katkıda bulunur. İndeks, çoklu veri, kaydırma çubuğu ve veri birimleri bir veri çekirdeğine katkıda bulunurken, giriş birimleri bir form çekirdeği ile ilişkilendirilir. Form bean, kullanıcının forma girdiği değerleri toplayan ve koruyan bir nesnedir.
- Veri ve form çekirdekleri yalnızca içeriklerinin kaynağında farklılık gösterir: veri çekirdekleri durumunda veri katmanından, form çekirdekleri durumunda kullanıcının girdisinden.
- İş mantığı bakış açısından, dinamik içeriğe sahip birimler veri alma mantığını, giriş birimleri ise giriş doğrulama mantığını kapsar.