Web ile uygulamalar geliştirmeye devam ettikçe gördüm ki birçok kez aynı kod bloğunu tekrar tekrar yazıyorum ve gereksiz zaman ve kaynak kaybına neden oluyorum. Bunları önlemek için .Net'in sunmuş olduğu güzelliklerden faydalanarak yapmış olduğum proje veya uygulamalarda ilk işim kendi namespace'mi ve class'larımı oluşturmak oldu. Böylece yaptığım uygulamaları daha fonksiyonel daha anlaşılır daha ekonomik duruma getirdiğimi kısacası optimize ettiğimi düşünüyorum. Bu yazıyı da .Net ile ilgilenenlere faydası olabilir diye hazırladım.
Öncelikle yazacağımız namespace ve class'ları istediğimiz sayfanın codefile'ında, projemiz içinde yer alacak olan
App_Code klasörü içinde .cs uzantılı bir dosyada veya bir dll içinde tutabiliriz. Ben, anlatacağım uygulama da App_Code klasörü içinde .cs uzantılı dosyada hazırladım. Hazırladığım dosyanın içeriğine bakacak olursak:
namespace proje
{
public class veritabani
{
public string baglanti_cumlem = "";
public OleDbConnection baglanti;
public veritabani()
{
baglanti = new OleDbConnection(baglanti_cumlem);
}
//veritabanı işlemleri yapan metotlar veya özellikler oluşturabiliriz
}
public class site:veritabani
{
//burada sitenin parçalarını bir araya getirerek sitemizi oluşturabiliriz.
public string yazdir(string metin)
{
return metin;
}
}
public class yonetim:veritabani
{
//burada ise yönetim bölümü için yapacaklarımızı hazırlayabiliriz.
}
}
Görüldüğü gibi proje adında namespace ve bu namespace altında kullanacağımız class'lar oluşturuduk. Bu class'lar ile de projemizde kullanacağımız işleri yapacağız. İstediğimiz her türlü işlemi class'lar içinde hazırlayabiliriz. Böylece daha basit karmaşıklıktan uzak hale getirmiş oluyoruz. Mesela veritabanı class'ı ile projemizde kullanacağımız bağlantı nesnesini veya bağlantı cümlesini belirleyebiliyoruz. Diğer class'larda bağlantı nesnesine veya bağlantı cümlesine ulaşmak için ise; veritabanı class'ını nesneyi veya cümleyi kullanacağımız class'lara miras bırakıyoruz. Bu işlemi ortak kullanacağımız tüm özellikler veya nesneler için yapabiliriz.
Oluşturduğumuz namespace ve class'ları ise istediğimiz bir sayfada şu şekilde kullanacağız:
using proje;
public partial class _Default : System.Web.UI.Page
{
site st;
protected void Page_Load(object sender, EventArgs e)
{
st = new site();
Response.Write(st.yazdir("Deneme"));
}
}
Görüldüğü gibi bu türlü bir yapı kullanmak bizlere birçok kolaylık sağlayacaktır. Projemizde tüm kodları tek bir dosya içinde muhafaza edebilir ve herhangi bir değişiklik durumunda sorunu kısa sürede halledebiliriz. Ayrıca bu tür yapı ile projeleri parçalar halinde nasıl geliştirebilceğimizi, namespace , class ve inheritence gibi kavramları daha iyi anlayabiliriz.
Örnek çalışmaya
buradan ulaşabilirsiniz.
İyi Çalışmalar!