Çok Katmanlı mimari aynı zamanda N-Tier mimari olarak da bilinir. Çünkü yazılım, veri yönetimi ve sunum işlevlerini fiziksel ve mantıksal olarak ayrı tutmak için tasarlanmıştır.

Çok Katmanlı mimari aynı zamanda N-Tier mimari olarak da bilinir. Çünkü yazılım, veri yönetimi ve sunum işlevlerini fiziksel ve mantıksal olarak ayrı tutmak için tasarlanmıştır. N katmanlı mimari adındaki N bir den herhangi bir sayıya karşılık gelir. Çok katmanlı mimari ile yazılan yazılımların sadece performans avantajının yanında yönetimsel olarakta kolaydır. Bunun nedeni, bir bölümde çalışırken yaptığınız değişikliklerin diğer işlevleri etkilememesidir. Bir sorun varsa nereden çıktığı kolayca tespit edilebilir.

Çok Katmanlı (N-Tier) mimarilerden en çok kullanılanı 3 farklı kademeye bölünmüş mimaridir. Bunlar;

- Mantık katmanı

- Sunum katmanı

- Veri katmanı

Çok katmanlı (N-Tier) mimariyi MVC (model-view-controller) framework ünden ayıran özellik MVC  framework ünün sadece presentation kısmında kullanılır. Çok katmanlı mimari ise farklı katmanlar arasındaki tüm iletişimi kolaylaştıran mantik, sunum, veri katmanlarına sahip olduğu için MVC den farklıdır. MVC yi kullandığınızda gerçekleşen etkileşim üçgendir.  Mantık katmanından geçmek yerine model katmanından görünüm katmanına, görünüm katmanından model katmanına erişen kontrol katmanıdır. Ek olarak kontrol katmanı gereksinimleri kullanarak bir modeli görünüm katmanına iletir.

Bu ya MVC framework ünü kullanırsınız ya da çok katmanlı mimariyi kullanabilirsiniz anlamına gelmez. Bu iki mantığı aynı yazılımda kullanarak presentation katmanında MVC modelini kullanabilirsiniz.

Çok katmanlı (N-Tier) Mimarisinin Faydaları Nelerdir?

Yazılımınız için n katmanlı mimari kullanmanın birkaç faydası vardır. Bunlar ölçeklenebilirlik, yönetim kolaylığı, esneklik ve güvenliktir.

- Üç katmandan her birini farklı yöntemler kullanarak ayrı ayrı güvence altına alabilirsiniz.

- Yönetimsel kolaylık: Her bir katmanı ayrı ayrı yönetebilir, diğer katmanı etkilemeden yeni bir katman ekleyebilir veya değiştirebilirsiniz.

- Esnek: İzole ölçeklenebilirliğin yanı sıra her aşamayı gereksinimlerinizin gerektirdiği şekilde genişletebilirsiniz.

- Daha verimli gelişme: Her kademede farklı ekipler çalışabileceğinden n-katmanlı mimari geliştirme için son derece kolaydır. Bu şekilde presentation kısmında tasarım uzmanı, core kısmında yazılım uzmanı geliştirme yaparak projenin daha sağlıklı ve hızlı yürümesini sağlayabilir.

- Yeni özellikler eklemek kolaydır: Yeni bir özellik tanıtmak istiyorsanız diğer katmanları etkilemeden uygun katmana ekleyebilirsiniz.

- Yeniden Kullanım: Uygulama bağımsız katmanlara bölündüğünden her bir katmanı diğer yazılım projeleri için kolayca yeniden kullanılabilir. Örneğin bir projenin ihtiyaçlarına göre geliştirdiğiniz Helper kütüphanesini farklı projelerde kullanabilir ve/veya presentation kısmında aynı katmanlardan beslenen Web, Windows, mobil uygulamalar geliştirebilirsiniz.

Kısacası, n katmanlı mimari ile tüm uygulamayı yeniden yazmak zorunda kalmadan veya tüm yazılımınızı yeniden tasarlamak zorunda kalmadan yeni teknolojileri ekleyebilirsiniz. Bu arada güvenlik açısından hassas veya gizli bilgileri mantık katmanında saklayarak sunum katmanından uzak tutabilir ve böylece daha güvenli hale getirebilirsiniz.

Nasıl Çalışır ve N-Tier Mimarisi Örnekleri:

N katmanlı mimari söz konusu olduğunda genelde üç katmanlı mimari kullanılır. Ancak projelerinizin yapısına göre katman sayısını sizler de belirleyebilirsiniz. Örneğini vereceğim yapıda çok katmanlı mimari şu şekilde

Büyük bir uygulamamız olduğunu düşünelim. Bu uygulamamızın ayarlarını yönetebileceğimiz kısmı 4 katman oluşturarak yazabiliriz.

İş Katmanı (Business Layer):  Business Logic Layer BLL veya Business Layer olarakta adlandırılır. Projenin ihtiyaç duyulan iş mantığı tabloları bu katmanda oluşturulur. Burada herhangi bir karar mekanizması yer almaz. (Bu uygulamamızda kullandığımız EF ile oluşturduğumuz nesneler SQL de oluşturulur. )

Veri Katmanı (DataAccess Layer): Bu katman İş katmanındaki classları kullanarak veritabanına Yeni kayıt oluşturma, Kayıt Okuma, Güncelleme ve silme işlerini yapar. (Create, Read, Update, Delete [CRUD]). Bu katman aynı zamanda karar katmanıdır. Uygulamada kullanılan tüm verilerin yazma okuma işlemi  bu katmanda gerçekleşir.

Model Katmanı (Model View Layer) :Bu katmanda kullanıcı arayüzlerinden (user interface) gelen istekleri bu katmandaki modelleri kullanarak veri katmanından talep eder ve veri katmanı bu katmanda tanımlanan modellerle veriyi geri gönderir. Bazı modeller kendi içerisinde request ve response olarak iki ayrı model oluştururlar. Örneğin bir kayıt listesinde kod, ad, soyad, departman istenirken edit işleminde ise kod, ad, soyad, departman, doğum tarihi gibi tüm alanlar bu katmanda oluşturulur.

Interface Layer : Veri katmanınınkod yapısını belirler.

Tüm bu katmanlar uygulamamızın temelini oluşturduğu için Core yapısı içerisinde takip edebilirsiniz. Bu katmanların sonucunu presentation yapısı içerisinde WebUI, WindowsUI, AndroidUI olarak sunum katmanında işlem yaptırabilirsiniz.

İlgili Makaleler

Bu yazıya 2 yorum yapılmış.

  • MVC -

    Çok güzel bir paylaşım olmuş şuanda üzerinde çalıştığım proje üzerinde denedim, yakınlaştıkça daha çok bilgi vermesi bağlantıların gözle görülmesi ekstra güzel oldu.

  • MVC -

    Çok güzel bir paylaşım olmuş şuanda üzerinde çalıştığım proje üzerinde denedim, yakınlaştıkça daha çok bilgi vermesi bağlantıların gözle görülmesi ekstra güzel olur.

Yorum Gönder