IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   JSF/JSP/Servlet (https://www.ircforumlari.net/jsf-jsp-servlet/)
-   -   MVC – Model View Controller (https://www.ircforumlari.net/jsf-jsp-servlet/476271-mvc-model-view-controller.html)

YazılımMimarı 23 Nisan 2012 23:41

MVC – Model View Controller
 
MVC – Model View Controller

Veri tabanından sorgulama işlemleri yaparken, yazdığımız ekran kodu içerisine connection alma, sql çalıştırıp dönen sonuçları görüntüleme kodları yazdığımızı düşünelim.

Daha sonra bir ekrana daha ihtiyacımız olduğunu düşünelim. O ekrandan da veri tabanına bağlanıp dönen sonuçları ekranda görüntüleyeceğiz. Bunu da ekran kodunun içine yazalım. Üçüncü bir ekran yazdık. Bu ekranda da birinci ekrandaki SQL’i kullanan kodu kullanmamız gerekiyor. Aynı kodları bu ekran sınıfına kopyalamamız mümkün ancak SQL’de bir değişiklik yapılması gerektiğinde aynı SQL’i kullanan tüm sınıfların güncellenmesi gerekir. Ayrıca veri tabanı bağlantısı için tüm sınıflarda ayrı ayrı bağlantı açtık, driver’ı register ettik. Veri tabanı bağlantı ayarları değişirse ne olacak? Yine gidip tek tek bütün sınıfları güncellemek gerekecek.

Büyük projelerde değiştirilmesi gereken yer sayısı bir, iki değil birkaç bini buluyor. Bu değişiklikleri yaparken de bazı yerlerin gözden kaçması mümkün ayrıca çok fazla iş yükü oluyor. Ufacık bir değişiklik yapmak için binlerce kopyanın güncellenmesi pek de mantıklı değil. Bir de güncelledikten sonra baktınız hoşunuza gitmedi tekrar birkaç saat uğraşarak eski haline almamız gerekecek.

Bunun olmaması için bir tane sınıf oluşturuyoruz. Ortak olan tüm kodları buraya yazıyoruz. Mesela veri tabanı bağlantısı için bir sınıf yazıp connection her gerektiğinde bu sınıfı kullanabiliriz. Ya da SQL’ler için bir sınıf yazıp farklı ekranlardan bile olsa aynı SQL çağrılmak istendiğinde bu sınıf kullanılabilir. Böylece unutma şansımız olmuyor ve birden fazla yerde değişiklik yapmaya gerek kalmıyor.

İşte bu şekilde yazılan programlama mantığına çok katmanlı mimari adı veriliyor. Ekranlarımız, SQL’lerimizin olduğu sınıf, bağlantı sınıfı, loglama sınıfı, güvenlik sınıfı gibi birçok katman ortaya çıkıyor. Butona bastığımızda kod sırayla birbirini çağırıyor. Çok katmanlı mimariye uygun bütün projeler bu şekilde yazılıyor. Biz de yazdığımız uygulamanın ilerde gelişeceğine inanıyorsak mutlaka çok katmanlı mimariyi kullanıyoruz.

Katman sayısı yazılımcıya bağlıdır. Ancak en az görsel sayfalarımız, sayfalardan gelen istekleri ele alan kontrol sınıflarımız ve veri tabanı ile ilişkili olan sınıflarımız için 3 katman kullanmak tavsiye ediliyor. Dediğim gibi güvenlik için ayrı bir katman, loglama için ayrı bir katman, filtreler için ayrı bir katman, exception yönetimi için ayrı bir katman daha kullanılabilir. Bu tamamen programcının insiyatifindedir.


Görsel Katman : (View) Son kullanıcıya hizmet veren ekranlarımızın bulunduğu katmandır. Masaüstü uygulamaları için form sınıfları, web uygulamaları için HTML sayfaları, JS dosyaları, resimler vb. bu katmanda yer alır.

Kontrol Katmanı : (Controller) Kullanıcının isteklerini ilgili katmanlara ileten sınıfların bulunduğu katmandır. Örneğin web uygulamalarında yazılan servlet sınıfları bu katmanda yer alır.

Model Katmanı :
(Model) Katmanlar arası iletişimi sağlayan bean sınıfları ve diğer tüm işleri yaptığımız iş sınıfları bu katmanda yer alır. Uygulama içerisinde kullanılan Thread sınıfları, veri tabanına istek ve yönlendirme yapan, ayrıca diğer tüm işleri yapan iş sınıfları da yine bu katmandadır.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 04:33.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net