Sql Server’da durum nasıl bilmiyorum ama geçenlerde Oracle’da şöyle bir durum farkettim: Where kısmında kullandığımız NOT IN komutu, IN komutunun birebir tersi şeklinde bir sonuç getirmeyebiliyor. Şart kısmında belirttiğimiz değerler içinde NULL olan kayıt varsa işler oldukça değişebiliyor. Küçük bir örnekle açıklamak gerekirse:
Üç Katmanlı Kod Mimarisi(3 Tier Architecture)
Nesne yönelimli programlamayla uğraşan hemen herkesin yakinen bildiği, bilmeyenlerin ise acilen öğrenmesi gereken bu mimari sayesinde class yapılarımız daha düzenli olacak, kod karmaşasından kurtulacağız, yazdıklarımız daha anlaşılır olacak ve projemizde yapılacak ekleme, çıkarma, değiştirme gibi işlemlerini daha rahat yapabileceğiz.
Üç katmanlı mimarinin faydaları konusunda daha detaylı bilgi isteyenler buraya bakadursunlar biz konunun uygulama kısmına geçelim.
Mimarimizdeki katmanlar ve işlevlerinden başlayalım:
Data Access Layer(Veri Katmanı): Veritabanına bağlantı ile her türlü irtibatı kuran katmandır. Diğer katmanlar veritabanına ihtiyaç duyduklarında bu katmandan rica ederler.
Bussiness Access Layer(İş Katmanı): Sunum katmanının istediği işleri veri katmanından da yardım alarak gerçekleştirir.
Presentation Layer(Sunum Katmanı): Kullanıcıyla direk irtibat halinde olan, kullanıcıdan istekleri alıp iş katmanına yollayan ve iş katmanından gelen verileri kullanıcıya sunan katmandır. Aspx, html sayfaları ve masterpage bu katmandadır. Aslında bu mimariyi bilmeyen ve uygulamayanlar tek katman çalışmış olur ve bu katman da presentation katmanı olmuş olur.
Temsili bir örnekle açıklayalım şimdi durumu:
Bir alışveriş sitesinde kullanıcı bir ürünü seçip sepete ekle butonuna tıkladı.
Sunum katmanı hemen sepete eklenecek ürünü, eklemek isteyen kullanıcıyı vs. bilgileri toparlayıp İş katmanına sepete ekle komutu verir. Yani kendisinin yaptığı tek şey verileri toplamak ve iş katmanına vermek oldu.
İş katmanı, gelen verilerin ışığında işlemin durumuna göre bir veya bir kaç defa veri katmanına uğrayıp çeşitli veriler ister ve bunları düzene sokup sunum katmanına aktarır.
Veri katmanı ise iş katmanının isteğine göre ya veri tabanına kayıt ekleme, silme, güncelleme işlemi yapar ya da veritabanından istenen verileri çekip iş katmanına gönderir.
Temel olarak benim anlatacaklarım bunlardan ibaret. Örnek bir proje falan yapmayacağım çünkü hem vaktim yok hem de zaten istemediğiniz kadar kaynak ve örnek kodlar webde mevcut. Ben yararlandıklarımı sizin de yararınıza sunayım:
- Nesneye Dayali Programlama, 3 Katman Mimarisi ve ASP.NET
- 3 Katmanlı Mimari İle Basit Bir Uygulama Geliştirmek
- Katmanlı Mimari nedir ? Faydaları nelerdir ?
- Üç Katmanlı Mimari
- 3-Tier architecture with C#
Etiketler: 3 katmanlı mimari, 3 tier architecture, ASP.NET, bussines access layer, Data Access Layer, iş katmanı, nesne yönelimli programlama, Presentation Layer, sunum katmanı, veri katmanı, yazılım
- Oracle'da IN ve NOT IN Komutu
- Linq Sorgusunu Datatable’a Çevirme
- NText Tipindeki Alanlarda Replace Sorunu


