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 III
Bileşen
kavramına bir tanım yapmak gerekirse; bir veya daha fazla sınıfın bir
arada derlenmiş halidir, demek yanlış olmaz sanırım. .Net Framework bir
platform olarak birçok bileşeni hali hazırda bizlerin kullanımına sunar.
Örneğin System.Web.dll bir bileşendir. İçeriğinde birçok sınıf ve nesne
barındırır.
Bu yazımda konu olarak "Basit Bir Bileşen'nin Oluşturulması" ndan
bahsedeceğim. Bileşen yazmak için özel bir araca ihtiyacımız yok.
İsterseniz sadece notepad ile bir text dosya içersinde kodlamanızı
yapabilir, *.vb olarak kaydedebilirsiniz. Derlemek için ise .Net
Framework ile birlikte hizmetinize sunulan vbc.exe programını
kullanırsınız.
Yada daha basit ve görsel kodlamaya olanak tanıması adına bir editör
kullanırsınız. Elbette kullanım aracı editör olunca en gelişmiş
alternatif Visual Studio .Net'tir.
Oluşturacağımız bileşen birden çok sınıf içerebilir demiştim. Başlarken
kod yapımıza bir göz atalım.
NameSpace BasitBirBilesen
Public Class BirinciSinifimiz
'Yapılacaklar
End Class
Public Class İkinciSinifimiz
'Yapılacaklar
End Class
End NameSpace
Peki bileşenleri
tasarlarken tüm sınıflar aynı dosya da mı tutulmalı. Hayır! Bileşen i
oluşturan sınıfları ayrı ayrı dosyalarda tutabilirsiniz, ancak şunu
unutmamalısınız: Derleme aşamasında tüm sınıflar tek bir assembly içinde
derlenmelidir.
Yazdığınız sınıflara metodlar eklemek suretiyle sınıflarınıza işlev
katabilirsiniz.
Şimdi Visual Studio .Net kullanarak basit bir bileşen oluşturalım.
1. Visual Studio .Net'i açın
2. File>New>Project sekmesinden kullanacağınız dili ve Template tabından
Class Library'i seçin. (Ctrl+Shift+N)
3.Kodumuz:
Namespace
BasitBilesenOlusturma
Public Class Cikartma
Public Function Cikart(ByVal a
As Integer, ByVal b As Integer) As Integer
Return a - b
End Function
End Class
Public Class Bolme
Public Function Bol(ByVal a
As Integer, ByVal b As Integer) As Integer
Return a / b
End Function
End Class
Public Class Toplama
Public Function Topla(ByVal a As
Integer, ByVal b As Integer) As Integer
Return a + b
End Function
End Class
Public Class Carpma
Public Function Carp(ByVal a
As Integer, ByVal b As Integer) As Integer
Return a * b
End Function
End Class
End Namespace
4. Burada
oluşturduğumuz sınıfların bir namespace içine yerleştirildiğini
görüyoruz. Bu sizinde ister uygulayabileceğiniz isterseniz
uygulamayacağınız bir yöntem. Bu durumdaki bir bileşenin sınıflarına
erişmek için BasitBilesenOlusturma.Cikartma sözdizimi ile ulaşılabilir.
5. Burada gördüğünüz üzere 4 basit matematiksel işlemi yapan bir bileşen
hazırladık. Siz dilerseniz database işlemleriniz, GDI kullandığınız
uygulamalarınızı ve daha birçok komplike işlemi içeren bileşenler
hazırlayabilirsiniz. Tabiki burada kullanacağınız kod sayısı, sınıflar ve
metodların sayısı oldukça fazla olacaktır.
6. Visual Studio .Net kullanarak hazırladığınız bileşenlerde dikkat
etmeniz gereken bir diğer nokta ise Visual Studio nun bileşeninizin proje
adını kök ad uzayına otomatik olarak yerleştirmesidir. Bunun yönetimi
için Solution Explorer da projenin üzerini sağ tıklayarak Properties
sekmesinden kök aduzayı adını yönetebilirsiniz. Kök ad uzayı ayarlarına
erişmek için Common Properties>General grubuna erişmeniz gerekir.
Bileşen Sınıfının Derlenmesi
Şayet Visual Studio .Net i kullanıyorsanız derleme işlemi çok basit.
Solution Explorer da proje ismine sağ tıklamanız ve "Build"
seçeneğini tıklamanız yeterli. Tabiki bu durumda Visual Studio karşınıza
uygulamanın çalışan halini getirmeyecektir. Zira bileşenler tek başlarına
çalıştırılabilir uygulamalar değildir.
Şayet notepad veya farklı bir editör kullanıyorsanız yapmanız gerekenler
Başlat>Çalıştır>cmd
vbc /t:library
/r:System.dll /r:System.Web.dll BasitBilesenOlusturma.vb
Bu sayede BasitBilesenOlusturma.dll isimli bir derlenmiş bileşen e
ulaşabilirsiniz. Burada "t" parametresi ile bir exe assembly si yerine
bir dll assembly si oluşturacağımızı belirtiyoruz. "r" parametresi ise
bileşenimizin kullanacağı diğer assembly leri belirtmek için
kullanılıyor.
Bileşen'in kullanılması
Burada yeni bir proje oluşturma gereği duymuyorum. Örneğin yukarıda
yazdığımız bileşen in sınıf ve metodlarını kullanabilmek için öncelikli
izlememiz gereken adım bileşeni projemizin referansları arasına dahil
etmek. Daha sonrası ise çok basit. Örneğin buradaki çarpma sınıfının Carp
function una göndereceğimiz iki parametre ile sonucu bir label a atamak
için yazmamız gereken kod
LblSonuc =
Carpma.Carp(2,3)
Bu şekilde yazdığımız bileşen in tüm sınıflarına ulaşabiliriz.
Göndereceğimiz parametreler ile sonucu herhangi bir araca aktarabilir,
ekrana yazdırabiliriz.
Özcan İLHAN
|