Katmanlı Mimari Nedir?

Cansu Candan
Devops Türkiye☁️ 🐧 🐳 ☸️
3 min readFeb 22, 2021

--

Bir geliştirici için hayatı proje geliştirmekle, kodlamakla geçiyor. Fakat yazılım dünyasında kodlama yaparken tek amacımız projenin çalışabiliyor olmasıdır. Peki sürekli değişen ve gelişen bir ekosistemde projeyi hazırladığımız bir kurum veya kişinin sonradan eklemek istedikleri olamaz mı?

Bu yazımda başarılı bir proje oluşturabilmek için dikkat edilmesi gerekilen hususlar ve mimari yaklaşımından bahsedeceğim.

Yazılım dünyasında sürdürülebilirlik çok önemlidir. Sürdürülebilirlikten kasıt kodumuzun değişime direnç göstermemesi, prensiplere uygun olması, temiz kod ile yazılması ve dokümantasyonu olmasıdır. Her ne kadar gelişigüzel kod yazarken asıl amacımız kodun çalışması olsa da aslında bir developer(geliştirici) için bu yanlıştır. Yazdığımız bir kodun, geliştirdiğimiz bir projenin okunabilirliği (readability), anlaşılabilirliği , tekrar kullanılabilirliği (reusability), bakım yapılabilirliği( maintainability) çok önemlidir. Bu yüzden projemizi belirli formatlarda geliştirmeliyiz. Bu açıdan mimari yaklaşımlardan yararlanırız. Projemizi belirli kütüphanelere (library) ayırarak projenin daha düzenli geliştirilmesini ve projenin daha derli toplu olmasını sağlar. Bu da geliştiriciler için kodun okunabilirliğini de arttırmaktadır.

Katmanlı mimaride temel olarak üç katman vardır;

  1. Sunum Katmanı (Presentation Layer)
  2. İş Katmanı (Business Layer)
  3. Veri Katmanı (Data Access Layer)

Günümüzde artan gereksinimlerden dolayı servis odaklı gibi mimarilerin gelişmesi ile bu üç katmanlı mimari Çok(n)-Katmanlı mimari haline gelmiştir.

Sunum Katmanı, Arayüz Katmanı olarak da bilinir. Kurum gereksinimlerine göre katmanlar artabilmektedir de.

Bu katmanları daha da açarsak;

Veri Katmanı’ nda sadece veriye erişim işlemleri gerçekleştirilir. Yani veri tabanı bağlantıları bu katmanda gerçekleştirilir. Veri tabanı bağlantısının yanı sıra ekleme, silme, güncelleme ve veri tabanından veri çekme gibi işlemler bu katmanda yapılmaktadır. Bu katmanda iş kodları, cross-cutting işlemleri gibi işlemler gerçekleştirilmez.

İş Katmanı’ nda ise sadece iş kodları yazılır yani iş kuralları burada yazılır. Ancak Business katmanı da Data Access Katmanından yararlanır. Data Access’te çektiğimiz verileri Business katmanda işleriz. Böylelikle projemizde bağımlılıkları ortadan kaldırmış, projenin okunabilirliği ve geliştirilebilirliği daha açık hale getirmiş oluruz.

Sunum Katmanı ise MVC uygulaması, Windows Form uygulaması, Android Mobil Uygulama gibi uygulamaların arayüz katmanıdır. Yani kullanıcıyla etkileşime geçilen işlemler bu katmanda gerçekleştirilir. Bu katmanda kullanıcıdan gelen verileri Business ile Data katmanına yönlendirir.

Katman sayısı ihtiyaçlara göre değişiklik gösterir. Servis olmayan bir mimari için 4 katman yeterlidir. Fazladan katman olmasının performansla bir alakası yoktur.

Kaynaklar:

https://www.youtube.com/watch?v=S_YNRNoJM4o&t=1065s&ab_channel=EnginDemiro%C4%9F

https://medium.com/kodcular/katmanl%C4%B1-mimari-9fb34ef8c376

“Yapay Zeka nedir” başlıklı bloğumu okumak için 👇

Yapay Zeka(Artificial Intelligence) Uygulama Örnekleri ve İş Olanaklarıbaşlıklı yazım okumak için 👇

“Veri Bilimi (Data Science) Nedir? Nasıl Öğrenilebilir ve Kullanılan Diller Nelerdir?” başlıklı yazım için:👇

--

--