Katmanlı Mimari Nedir?

Katmanlı Mimari Teknoloji ve yazılım sistemlerinin çok gelişmesine bağlı olarak yazılım sistemlerinde de yine çok fazla güncellemeler meydana gelmektedir. Güncellenen yazılım teknolojisine daha iyi adapte olmak adına da bu alanda çalışan kişilerin çok fazla araştırma yapması, kendilerini ilgili teknolojilerde geliştirmesi gerekmektedir. Aksi durumda yazılım alanında çok fazla gelişim kaydedilemeyebilir.

Yazılım programlarının daha esnek, hızlı, performansı yüksek seviyede olması açısından çeşitli mimarilere de ihtiyaç vardır. Bunlardan biri katmanlı mimaridir. Programlama dillerinden bağımsız olarak mimari yapıların geliştirilmesi ve uygulanması da bir bakıma yazılım programında istenen seviyeye ulaşılmasını da sağlamaktadır. Daha karmaşık kodlar yerine temiz kodların yazılacak olması bu noktada oldukça önemlidir. Pek katmanlı mimari nedir? Katmanlı mimari avantajları ve çeşitleri nelerdir? 

Yazılımda Katmanlı Mimari

Yazılımda katmanlı mimari sayesinde veriye nasıl erişilebileceği, veriler üzerinde e gibi işlemleri yapılacağı ve bu işlemlerin kullanıcılara nasıl iletileceği kolaylıkla yönetilebilir. Katmanlı mimarinin sunduğu avantajlar sayesinde bu yapılar çeşitli parçalara ayrılır ve parçalar daha iyi yönetilir. Örnek vermek gerekirse Windows form yazılım uygulaması geliştirilirken veri tabanındaki bilgilerin ekrana getirilmesi gerekiyor. Bu işlem ilgili formun altına gerekli kodlar yazılarak gerçekleştirilebilir. Ancak birkaç zaman sonra proje içerisinde değişiklikler istendiği zaman tüm kodların bu duruma göre değiştirimesi gerekmektedir. Birden çok form durumunda bu formların heppsinde tek tek işlemin yapılması maliyetli olacaktır. Bundan dolayı projelerin dinamik hale getirilmesi ve olabildiğince esnek tutulması önemli olup katmanlı mimari yapısına ihtiyaç duyulmaktadır.

OOP Katmanlı Mimari

OOP, yani nesneye yönelimli programlama metodolojisi katmanlı mimaride en çok tercih edilen kalıp ve yazılım teknolojisidir. OOP katmanlı mimari yapısı 3 temel katmandan meydana gelmektedir. Bu 3 katman her projede olması gereken katmanlar olup yazılım sistemlerinin daha esnek hale getirilmesini de sağlamaktadır.

Bu katmanlardan biri Data Access Layer katmanıdır. Bu katman özelinde veri tabanı işlemleri gerçekleştirilir. Bu katmanın en temel görevi verilerin eklenmesi, silinmesi, güncellenmesi ve veri tabanındaki kayıtların listelenmesi gibi işlemleri gerçekleştirmektir. Bu katman özelinde bu tür CRUD işlemleri haricinde fazla işlem yapılmamaktadır. 

Business Layer katmanı, katmanlı mimarideki en önemli yapılardan biridir. İş yüklerinin olduğu ve yönetildiği katmandır. Data Access tarafından projeye çekilen verilerin alınarak işletildiği katmandır. Uygulamalarda Data Access katmanı direkt olarak kullanılamaz. Ara katman olarak Business katmanı eklenerek geliştiricinin yerine işlemler Business tarafında halledilir. Kullanıı tarafından gelen istekler ilk olarak Business katmana gider oradan işletilerek Data Access tarafına yönlendirilir. Bu katmanda verilere kimlerin erişileceği de belirtilir.

Presentation Layer katmanı ise kullanıcı ile etkileşimin gerçekleştirildiği katmandır. Bu kısımda web, mobil arayüz ya da windows form yapıları olabilir. Bu kısımda temek amaç client tarafından gelen istekler doğrultusunda işlemleri gerçekleştirdikten sonra kullanıcıya verileri göstermektir. Kullanıcı tarafından gelen veriler Business Katmanı ile Data Access katmanına iletilmektedir.

Katmanlı Mimari Avantajları

Katmanlı mimari yapısı genel olarak bu şekildedir. Veri katmanı, iş katmanı ve sunum katmanı olarak da adlandırılan bu katmanlar sayesinde yazılım programlarına esneklik kazandırılabilir, daha temiz kodlar meydana getirilebilir. 

Katmanlı mimari daha temiz kod yazmayı ve dinamik projeler oluşturmayı hedefler. Bundan dolayı geliştiriciler proje ortasında veya sonunda olası değişikliklere karşı koddaki her yere dokunmak yerine sadece bir kaç ayarı değişerek tüm alanlarda değişikliği meydana getirir. Zaman maliyeti olmadan, ekstra iş yükü gerektirmeden değişikliklerin uygulanabileceği katmanlı mimariye sahip yazılım projeleri daha performanslı yapılar da sunar.

YORUM YAP

E-posta hesabınız yayımlanmayacak. * GEREKLİ ALANLARI DOLDURUN
Bu HTML etiketlerini ve niteliklerini kullanabilirsiniz: