LİNUX ÜSTÜNDE .NET
Regular Expressions
Bileşen Tabanlı
Programlama I
Bileşen Tabanlı
Programlama II
Bileşen Tabanlı
Programlama III
|
Bileşen Tabanlı
Programlama I
Yeni bir yazı dizisi ile
tekrar karşınızdayım. İl etapta Java ile hayatımıza giren ve Microsoft
tabanlı yazılım geliştiriler içinde özellikle .Net'in piyasaya çıkmasını
takiben gelen en büyük güzellik şüphesiz bileşen tabanlı programlamaya
giriş yapabilmek ve artık birçok gereksiz kod yığınını programlarınız
içersinde tekrar tekrar yazmadan sadece daha önce oluşturduğunuz yada 3.
parti bir bileşenin metod ve özelliklerini kullanmak suretiyle daha az
kod ile daha çok ve işlevsel metodları kullanabilmeniz sağlandı.
Daha önce Delphi, Visual Basic gibi dillerde bana göre yarı bileşen
tabanlı uygulamalar yazabiliyorduk. ASP gibi web scripting dillerinde ise
bundan bahsetmek neredeyse imkansızdı. Özellikle ASP gibi dillerde yüklü
işletim sisteminin registry kayıtları üzerinde bir takım güncellemeler
yapmanız gerekiyordu ki her birimizin birer web server ı olmadığını ve bu
gibi ihtiyaçlarımızı bize sunan
hosting firmaları ile çalışmak zorunda
oluşumuzun getirdiği kısıtlılık ile her istediğimiz veya yazdığımız
bileşeni uygulamalarımızda kullanamama sıkıntısıyla karşı karşıyaydık.
Örnek olarak kendi yazdığınız bir bileşeni bir ASP uygulamasında
kullanabilmeniz için öncelikle server yöneticisi tarafından buna izin
verilmeli ve regsvr32 yöntemiyle bu bileşen register edilmeliydi. Bu da
server yöneticisinin hemen hemen çoğu zaman bize olumsuz geri dönüşü ile
sonuçlanır ve biz yine klasik yöntemler ile kodlara deyim yerindeyse
taklalar attırarak belki 3-5 satır kod ile halledebileceğimiz sorunların
üstesinden yığınla kod kullanarak gelebilirdik.
.Net teknolojisi ile beraber gelen bir tanımlamada "regsvr32 kullanmayan
teknoloji" ydi. Ne demekti peki bu. Bu artık yazdığımız, satın aldığımız
veya edindiğimiz bileşenleri register etmeden kullanabileceğimiz anlamına
geliyordu. Yapamamız gereken sadece bileşen dosyamızı uygulamamızın root
unda "Bin" folder ına atmamız ve uygulama içersinde kullanacağımız
yerlerde deklare etmemiz yeterli. Bu şüphesiz bize bir çok avantaj
sağladı. Bu avantajları aşağıda "Bileşen Tabanlı Çalışmanın Avantajları"
arasında listeleyelim.
Bileşen Tabanlı Çalışmanın Avantajları
-Güvenlik Artışı
Bileşenlerimizi artık kendimiz yazabildiğimize göre üzerinde
istediğimiz tüm özellikleri kullanabilir, istemediğimiz özellikleri devre
dışı bırakabiliriz. Örneğin veritabanına erişim sağlaması için
kodladığımız basit bir bileşende sadece belli tablolara veya stored
procedure lere erişim sağlayabiliriz. Bu da şüphesiz uygulama
güvenliğinin artık bizim kontrolümüzde olduğunu gösterir.
-Daha İyi Düzenleme
Yukarıda da bahsettiğim gibi önceden yapmamız gereken işlemlerin tüm
kodlarını web sayfamız içersinde kullanmak zorundaydık. Çünkü bileşen
register edemiyorduk. Ancak artık bileşenimiz yazıp "bin" folder ına
koymamızın ardından sadece erişmek istediğimiz metod ve özelliklerine ait
kodları web sayfası kodlarımızın arasında tutacağız. Bu da yazdığımız
koddaki dağınıklık ve gereksiz işlevsel kod yığınına bir son verecektir.
Bu bağlamda bileşen tabanlı çalışmak kodlarımızın düzenli görünmesini
sağlar açıklaması yanlış olmayacaktır.
-Daha Kolay Sorun Giderme
Yukarıdaki madde ile bağlantılı olan bu avantaj şundan kaynaklanıyor.
1000 satır kod arasında bir hatanın bulunması veya en azından kodun
incelenmesinin alacağı vakit ile 10 satır kodun kontrolü ve hatanın
yakalanması şüphesiz karşılaştırılamaz. O halde bileşen tabanlı
çalışmanın avantajı olarak karşımıza çıkan az kod yazımı kodun kontrolü
ve hatanın ayıklanması aşamasında da bize yardımcı olacaktır.
-Daha Yönetilebilir Kod
Kodun yönetiminin kolay olması da yine 2. ve 3. madde ile bağlantılı
aslında. Farklı olan nokta ise bileşen tabanlı çalışarak sadece
hazırladığınız ve asıl işi yapan bileşenin gerekli kısımlarını kod
bloğunuz içinde deklare edebilmenize ve gerekli her yerde tekrar tekrar
kullanmanıza olanak sağlaması sebebiyle hem az hem de yönetilebilir daha
doğrusu kolay yönetilebilir uygulamalar yazmanıza olanak
tanımasıdır.
-Kodun Tekrar Kullanılması
Yazdığınız bileşeni kullanabilmek için sadece kullanmak istediğiniz
sayfada deklare etmenizin yeterli olduğundan bahsetmiştim. Bunun bize
nasıl fayda olarak döneceği ise bu avantajda gizli. Yazdığınız herhangi
bir kontrol fonksiyonunu veya olayı birden fazla sayfa ve hatta uygulama
içinde kullanmanız gerekebilir. Bu sıklıkla başımıza gelen bir olaydır.
Çoğu zaman genel geçer yazdığımız herhangi bir fonksiyon veya işlemi
kopyala yapıştır yöntemi ile uygulamamıza dahil etmeyi ve bazı
özelliklerini değiştirerek kullanmayı tercih ederiz bu da kodun yönetimi
zorlaştırır ve gereksiz kodyığınları ile uğraşmamıza sebep olur. Bileşen
tabanlı çalışmanın bize burada getirdiği avantaj ise aynı tarz fonksiyon
veya özelliklere ihtiyacımız olan her proje veya sayfada sadece deklare
edere bu özellikleri kullanma şansımızın olmasıdır.
-Basitlik
Bileşenler tek bir istemci talebi ile birden fazla işlemi aynı anda
yerine getirebilirler buna örnek olara tek bir istem ile veritabanında
birkaç tabloda yapılacak değişiklik ve tekbir cevabın döndürülmesi
gösterilebilir. Bileşen tabanlı çalışmak sureti ile arka planda yapılan
birden çok işlemin ayrıntılarının gizlenmesi sağlanır bu da
uygulamamızave kodumuza basitlik katacaktır.
-Performans
Hepimiz uygulamalarımızda performans ın yüksek olmasını isteriz
elbette. Arka plandaki bazı işlemlerin detaylarını azlatmaya çalışmak,
bağlantıları ve nesneleri işimiz bittiğinde kapatmak veya yok etmek hep
ASP den kalma performan arayışımızın hatırasıdır. ASP.Net te de bazı
genel geçer kurallar aynen kalmıştır elbette ancak eşzamansız bir bileşen
yaratarak zaman alacak bir işlem arka planda gerçekleşirken siz web
sayfası kodunuz ile bu sırada gerçekleşmiş başka bir işlemin sonuçlarını
ekranan basabilirsiniz. Bu da uygulamanızda zaman tasarrufu = performans
olarak size geri döncektir.
Bileşen tabanlı çalışmanın avantajlarına ayırdığım bu yazıyı Bileşen
Terimleri, Basit Bir Bileşenin Oluşturulması, Bileşen Sınıfının
Derlenmesi ve Bileşen Kullanımını İçeren yazılarım takip edecek.
Özcan
İLHAN |