ASP.NET 2.0 & Code-Beside Model
ASP.NET'te Şu Ana Kadar Kullanılan Kodlama Teknikleri
Bildiginiz gibi ASP.NET'te kod yazarken kullanabileceğimiz üç farklı teknik mevcuttur.
1) Spagetti Kodlama : Bu yöntem klasik ASP'den kalma ve mümkün olduğunca kullanımından kaçınılmasını önerdiğimiz bir kod yazım biçimidir. Zira bu yöntem ile kodun gerek yazımı gerekse de bakımı oldukça zordur. Çünkü bu yöntemde görsel ve işlevsel içerik, grift halde yazılmak zorundadır.
2) In-Line Kodlama : ASP.NET ile ilk tanıştığımız Beta1 döneminde kullanmak zorunda kaldığımız bu yöntem, spagetti'ye izafeten daha temiz bir metodolojiyi öngörmekle birlikte, görsel ve işlevsel içeriği birbirinden ayırabilme noktasında yetersiz kalmaktadır. Zira bu yöntemde söz konusu yapılar aynı fiziksel dosya içerisinde, mantıksal olarak ayrılmaktadırlar.
3) Code Behind : Bu teknik görsel ve işlevsel içeriği birbirinden ayırabilme konusunda kesin bir çözüm getirmektedir. Ancak bu yöntemin Visual Studio'nun proje içindeki tüm code behind ve diğer sınıf dosyalarını aynı assembly içerisine derleme zorunluluğundan kaynaklı bir dizi dezavantajı olduğu da inkar edilemez.
Compile-on-Demand
ASP.NET 1.X pek çok dosya türü için (.aspx, .asmx, .ascx, asax, ve .ashx) dinamik derlemeyi -yani ilk talep edildiklerinde otomatik olarak derlenmeyi- desteklemektedir. ASP.NET 2.0 ise "Compile-on-Demand" ismi ile anılan ve dinamik derleme işlemini başta sınıf dosyaları olmak üzere, (.wsdl, .resx, .xsd) gibi dosyalar için de mümkün kılan, yeni bir derleme modelini öngörür. Bu sayede web projelerinde sınıf dosyalarının VS.NET tarafından derlenmesi zorunluluğu ortadan kalkmakta ve canlı uygulamanın elastitesi artmaktadır. Ayrıca söz konusu model, geriye uyumludur.
Artık @Page direktifi CodeBehind değil, CodeFile niteliğini kullanarak sayfa ile sınıf dosyasının ilişkilendirilmesini sağlamaktadır. Ancak Visual Studio 2005 Beta1'de rastladığımız CompileWith niteliği, (Beta 2'de) yerini CodeFile niteliğine bırakmıştır.
Aykut TAŞDELEN
MVP (Microsoft Most Valuable Professional)