Projenizin Olmazsa Olmazı Katmanlı Mimari Nedir? //PigGunner

ratio

Kıdemli Üye
6 Tem 2013
2,456
6
Turk
Çok Katmanlı Mimari Nedir?

Bir proje yapılırken projenin bölümlere ayrılması gerekir. Bu noktada en basit hali ile verilerin tutulduğu bölüm, verilerin işlendiği ve iletildiği bölüm ve kullanıcıya sunulduğu bölüm olarak üçe ayırabiliriz.

Peki Çok Katmanlı Mimariye Neden İhtiyacımız Var?

Yazılımcılık ve programcılık sektöründeki en büyük sorunlardan birisi kodumuzun veya programımızın sürdürülebilir ve kolay yönetilebilir olmasıdır. Çünkü bugün projenizin tasarımı küçük ve kolay olabilir. Ancak, ilerleyen süreçte iş vereniniz ya da kullanıcılarınızın isteği ya da oluşan bir hata, açık, bug neticesinde projenizde değişiklikler yapmanız gerekir. Bu tür sorunları çözerken bütün kodu taramanıza gerek kalmaması ve zaman kazanmanız için ayrıca yaptığınız küçük bir değişiklikten projenizin diğer kısımlarında değişiklikler yapmanız gerekmemesi açısından katmanlı mimaride çalışılması önemlidir.

Dahası ilerleyen süreçlerde sizin çalışmayı bırakıp başka birisinin sizin yazdığınız kod üzerinde çalışmaya başladığını düşünelim. Kodunuzu kolayca anlayabilmesi yine katmanlı mimarinin getirdiği güzelliklerdendir. Bu noktada yazdığınız dili verimli kullanmanız ve “codesmell” yani kokan bir kod yazmamanız önemlidir.



Katmanlı Mimariye Daha Yakından Bakacak Olursak;

Katmanlı Mimari, en basit şekli ile veri katmanı, iş katmanı ve sunum katmanından oluşmaktadır.

Veri Katmanı: Veri katmanı, iş katmanından gelen verilerin tutulması veya tutulan verilerin iş katmanına iletilmesinde görev alır. Data Base veya Data Base Layer olarak da adlandırılabilmektedir. Ayrıca, bu katmanın biraz daha soyut ve kapsamlı yapıda olmasına özen gösterilmelidir.

İş Katmanı: İş Katmanı, veri katmanından gelen verileri işleyip iş katmanına iletir veya sunum katmanından gelen verilerin gerekli kontrollerini yapar eğer uygunsa veri katmanına iletir. Örnek vermek gerekirse, bazı sitelere kayıt olurken şifre kısmında sizden küçük ve büyük harfler istenir girmediyseniz kabul edilmez. Bu tarz işlemlerin kontrolü bu katmanda yapılmaktadır. Ayrıca, bu katman Business Process Layer olarak da adlandırılabilir.

Sunum Katmanı: Sunum katmanı, iş katmanından gelen verilerin kullanıcıya aktarılmasıdır. Bu katmanda çeşitli görselleştirmeler ve kullanıcı arayüzleri kullanılabilir. Bu katman, Presentation Layer olarak da adlandırılabilir.

Biraz Daha Genişletmek İstersek;

Varlıklar ve Servis Katmanını ekleyebiliriz.

Varlık Katmanı: Basitçe nesne odaklı programlama da nesnelerin ve önemli sınıfların bulunduğu ana katmandır. Bu katmanı diğer üç katmanda kullanmaktadır. Bu katmanda çeşitli özelliklere ve çeşitli bilgilere sahip “ürün” gibi sınıflar bu katman altında toplanabilir. Bu katman Entities, Domain, Common gibi isimlerle de adlandırılabilir.

Servis Katmanı: Servis katmanı, projenin servis edildiği katman olarak adlandırılabilir. Bu katman ile iş katmanın sahip olduğu özellikler web uygulamaları, masaüstü ve mobil uygulamaları gibi uygulamalara servis edilebilir.

T6x9LT.png


Özet ile Katmanlı Mimarinin Bize Sağladığı Avantajlar

İlerleyen süreçlerde daha da karmaşıklaşacak olan projenin kolayca yönetilebilmesi.

Hataların kolayca tespit edilip düzeltilebilmesi.

Projeye sonradan katılacak kişilerin çalışmalarını kolaylaştırmak.

Kodun sürdürülebilirliğini ve kolay anlaşılabilirliğini arttırmak.

Katmanlı Mimarinin Bize Sağladığı Dezavantajlar

Yukarıda bahsetmediğim ancak burada bahsedeceğim bir durum var katmanli mimarinin tek dezavantajı deployment süresinin uzun olmasıdır. Peki deployment süresi nedir? Yayılma, açılma, konuşlandırma gibi anlamlara gelen deployment sürecini en basit şekli ile projenin test ve kontrollerinin yapılması, kullanıcıya sunulması ve karşılaşılabilecek sorunların çözülmesi olarak adlandırılabilir. Dezavantaj gibi görünse de projenin güvenilirliğini arttırır ve ilerleyen süreçler için zaman kazandırır.

Kaynakça

https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/08/çok-katmanlı-mimarihttps://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/08/çok-katmanlı-mimari

https://medium.com/kodcular/katmanlı-mimari-9fb34ef8c376https://medium.com/kodcular/katmanlı-mimari-9fb34ef8c376

https://aktif.net/tr/Aktif-Blog/Teknik-Makaleler/Yazilimda-Katmanli-Mimarihttps://aktif.net/tr/Aktif-Blog/Teknik-Makaleler/Yazilimda-Katmanli-Mimari

https://kodcu.com/2014/01/geleneksel-katmanli-mimari-uygulamalar/https://kodcu.com/2014/01/geleneksel-katmanli-mimari-uygulamalar/

http://cagataykiziltan.net/cok-katmanli-mimari/Çok Katmanlı Mimari | Mustafa Çağatay KIZILTAN

https://www.elektrikport.com/teknik-kutuphane/cok-katmanli-yazilim-mimarisi/8130#ad-image-0
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.