Yazýlarýmý Daha Kolay Takip Etmek Ýçin Týklayýn!

ÜÇ KATMANLI MİMARİ

yazan: 7/28/2008 2:46:00 AM

Bu yazımda biraz üç katmanlı mimariden bahsetmek istiyorum. Tabi ki katman sayısını üçle sınırlamak doğru değil ama başlangıç için bence en ideali üç katman.

Yazılımı Neden Katmanlara Ayırıyoruz?

Aslında cevap herkesin aklına geldiği gibi yönetimi ve bakımı kolaylaştırmak. Şimdi aklınıza bir yazılım getirin bu yazılım veritabanına bağlı olsun. Bu yazılımın tüm kodu bir iki sınıfa sığdırılmış olsun, ve bir zaman sonra yazılımın veritabanına bağlantısında bir hata olduğu ortaya çıksın. Böyle bir durumda tüm kod açılacak içinden zorlukla veritabanı ile ilgili kod bulunacak, gerekli yer düzeltilecek tüm proje baştan derlenecek. Ve tam bu anda yanlışlıkla arayüzü sağlayan kodun bir kısmını sildiğinizi farkediyorsunuz. Onca kod arasından uğraşıp sildiğiniz kodun ne işe yaradığını bulacaksınız tekrar yazıp tekrar derleyeceksiniz. Bu hem size hem de işini yaptığınız kişiye zamana mal olacak.

Peki bundan nasıl kurtulacaksınız?

Cevap şu en başta yazılımı tasarlarken her işi ayırmalı ve mümküm olan en küçük ve en özel sınıfları amaçlamalısınız. İşte bu durumda da çeşitli iş öbekleriyle karşılaşacaksınız. Bazı sınıflar veritabanı ile iletişim kurarken bazıları iletişim kurmuş bu sınıflardan gelen verileri işleyecek ve bunları arayüze yani görünen kısma taşıyacak. İşte tam burada katmanlı mimari devreye giriyor, yapılan işe göre sınıflar kategorize ediliyor. Konumuz olan üç katmanlı mimaride adından da anlaşılacağı üzere 3 katman vardır. Bunlar:

. Veri Katmanı

. İş Katmanı

. Arayüz (Sunum) Katmanı

 

Veri katmanı:

Veri katmanı adı üstünde veri ile ilgilenir başka hiçbir şey yapmaz. Database ve Stored Procedure ler bu katmandadır.

Önemli nokta: bu katmanda asla verilerle işlem yapılmaz.

 

İş Katmanı:

Veri katmanından alınan veriler buradaki sınıflarca işlenmelidir. Burda her türlü işlem yapılır. Hesaplamalar, verilerin değişimi vb… Ve ancak bu katmanın işi bitince veriler veritabanına aktarılmak üzere veri katmanına ya da gösterilmek üzere arayüz’e yollanır.

Bu katmanda herhangi bir veri depolanmamalı, arayüze sonuç bastıracak kodlar bulunmamalıdır. Sadece veriyi almalı, işlemeli sonucu geri dönüş değeri olarak döndürmelidir.

 

Arayüz (Sunum) Katmanı:

Verilerimiz İş katmanında işlendi, ve ekrana sonuçların bastırılması gerekiyor. İş katmanından gelen verileri bu katmandaki sınıflar aracılığıyla alıp ekrana bastırıyoruz veya ilgili başka bir programa aktarıyoruz. Yani bu katman sadece programın üreteceği son değerin şekillerdirilmesi(anlaşılır hale getirilmesi) ve gösterilmesi işinden sorumlu.

Bu katmanda da hiçbir veri işleme işi yapılmamalı sadece iş katmanından gelen veriler biçimlendirilerek sunulmalıdır.  

 

Üç katmanlı mimari işte bu kadar asıl iş projeyi üç katmanlı hale gelebilecek şekilde moduler olarak tasarlayabilmekte. Bu sağlandığı takdirde Sadece veri tabanımızda sorun varsa veri katmanındaki ilgili sınıfa gidebilir değişikliği yaparız ve programın geri kalanı bu değişimden hiç etkilenmez. Bu şekilde tasarım aynı zamanda takım çalışmasına atılan ilk adımdır. Her programcı başka katmanlarla uğraşabilir, örneğin ben iş katmanını yazarım, kod yazmaktan anlamayan bir sanatçı da arayüzü tasarlar. Gelecek verilerin şekli belli olduğu için, bunu yaparken zorluk da çekmeyecektir.

Currently rated 3.0 by 4 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Mimari-Tasarım

 

Yazar Hakkýnda

Erçin YONTAR
Erçin Yontar
1986 yýlýnda Çorlu'da doðdu.Ýlk öðrenimini Ankara'da, ortaöðrenimini Eskiþehir'de gördü.
Çanakkale 18 Mart Üniversitesi Bilgisayar Mühendisliði Bölümü mezunu.
Yazýlým ile çok ilgili; Visual Studiosu daima açýk :) bunun sayesinde Imagine Cup 2008 Türkiye 3.sü ve bir çok proje geliþtiriyor.
Yazýlým dýþýnda : Frp hastasý, rock/metal dinliyor, organizasyon iþlerine merak sardý. Bunlarýn yanýnda o bir; 
MCTS (Microsoft Certified Technology Specialist)



MSP (Microsoft Student Partner)

Bana posta atýn Send mail

Favorilerine Ekle


Add to Technorati Favorites

 

Twitter - Ne Yapýyorum?

    Pages

      Recent comments

      Feragatname

      Burada yazan yazýlar ve içerdikleri fikirler yazarýna aittir. Baþkasýný ilgilendirmez. Yazýlarý kaynaðýný kopyaladýðýnýz yazýnýn içinde týklanabilir link halinde belirtmek þartý ile olduðu gibi kullanabilirsiniz. Bu kurallarý deðiþtirme hakkým saklýdýr. Yarýn bir gün benim yazým benim blogumdan baþka bir yerde olamaz dersem Kopyaladýðýnýz yazýyý da silmek zorundasýnýz. Bu iþe girþen kiþi bu koþullarý ve doðan yasal yükümlülükleri kabul etmiþ sayýlýr. Eyvallah diyen devam etsin.

      © Tüm haklarý saklýdýr.

      Giriþ