İSİM UZAYLARI (NAMESPACE)
İsim Uzayı(Namespace) Nedir? .Net Class Framework’ün en üst yapısına İsim Uzayı(Namespace) denir. Turbo pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer almayan ancak C++’ta sonradan eklenmiş bir halde yer edinerek, C#’ta dev bir boyutta karşımıza çıkmıştır bu Namespace’ler.
İsim Uzayı(Namespace) Nedir? İsim alanları, yazılan programlarda mantıksal organizasyonu sağlar. Eski programlama dillerinde,çok kişi tarafından yazılan projelerde, isim çakışmaları meydana gelebilmekteydi. Bu çakışmalar fonksiyon, alt program ya da sınıf isimlerinin değiştirilmesi ile çözülebiliyordu.
İsim Uzayı(Namespace) Nedir? Programlama Dilleri bu karmaşanın önüne geçebilmek için modern dillerde mantıksal bir ayırma yapısı kullanmaya başlamıştır. C++ ve C# dillerindeki isim alanları(namespace) ya da Java dilindeki paketler(package) buna birer örnektir
The Base Class Library ( Temel Sınıf Kütüphaneleri ) .NET Framework’te programcıların işlerini kolaylaştırmak için birtakım hazır kütüphaneler vardır fakat C# dilinde hazır kütüphaneler mevcut değildir.Bunun yerine Framework dediğimiz altyapıda Base Class Library adı verilen temel sınıf kütüphaneleri mevcuttur. Temel sınıf kütüphaneleri,uygulamalarınızı geliştirirken size lazım olabilecek birçok servisi ve nesneyi içinde barındıran bir sistemdir. Temel sınıf kütüphaneleri, namespaces (isim alanları)’ler içinde organize edilmiştir.
İsim Uzayı Bildirimi İsim alanı namespace anahtar sözcüğü ile bildirilir. Namespace için yine sınıflarda olduğu gibi bir parantez blok açılır . Bu bloğa ise isim alanı içinde yer alacak bildirimler tanımlanır. Tanımlanan isim anları using ifadesi ile belirtilir ve using anahtarı sözcüğü tanımlamaların üstünde yer almalıdır. Bu şekilde tanımlandıktan sonra isim alanı içersindeki türlere tam isim belirtmeden erişilebilir.
C# Dilinde Namespace Kullanımı using System; namespace isimalan1 public class C# { public static void Main() { Console.WriteLine (C#) } } (Bu sınıf System isimalanı içinde bulunan Console sınıfına ait bir fonksiyonla gerçekleştirilmektedir.)
C++ Dilinde Namespace Kullanımı using namespace System; public static void Main() { Console.WriteLine (" C++ ") } (Bu sınıf System isimalanı içinde bulunan Console sınıfına ait bir fonksiyonla gerçekleştirilmektedir.)
İsim Alanlarında Dikkat Edilmesi Gerekenler ! İsim alanları içersinde yalnızca sınıf(class), numaralandırma(enum) , yapı (struct),temsilci(delegate) ya da arayüz(interface) bildirimi yapılabilir. İsim anları içinde değişken tanımlaması veya metot bildirimi yapılamaz. Farklı konumlarda ya da dosyalarda aynı adlı isim alanları tanımlanabilir. Bu hataya neden olmaz.
İç İçe Girmiş İsim Alanları (Nested NameSpaces) İsim alanları içersinde başka isim alanları da tanımlanabilir. Bu şekilde hiyerarşik düzenlemeler yapılır. Bu şekilde tanımlanmış isim alanlarına “.” operatörü ile erişilir. Using ile tanımlanırken de aynı yöntem kullanılır.
İç İçe Namespace Kullanımı using System; namespace Alan { class Sinif1 public Sinif1() { } } namespace AltAlan class Sinif2 public Sinif2() { }
Bazı Namespace’ler … System : Ortak kullanıma sahip değerleri, referans edilen veri türlerini, olayları ve bu olayların işleyişlerini, çeşitli arayüzleri, özellikleri ve işlem hatalarını tanımlayan temel sınıfları içerir. System.Configuration: Yazdığımız programın içinden .Net Framework konfigürasyon ayarlarına erişmemizi sağlayan arayüz ve sınıfları içerir. System.Data : Veritabanı kullanan projelerimizde çok işimize yarayacak olan sınıftır.
Bazı Namespace’ler … System.Web.Security:Web sunucu uygulamalarında,ASP.Net teknolojisinin güvenliğinin sağlanabilmesi için kullanılan sınıfları içerir. System.Web.UI: Bir web sayfası üzerinde kullanıcı ara yüzünü oluşturan kontrollerin yaratılması için gereken sınıf ve arayüzleri sağlar.Ayrıca web uygulamasında bir sayfaya istem olduğu anda oluşturulan page kontrolünü içerir.
Bazı Namespace’ler … System.Web.UI.WebControls:Bir web sayfası üzerinde web sunucu kontrolleri yaratabilmeyi sağlayan sınıfları içerir. System.Xml: Xml dili için standartlara dayalı destek sağlar. System.Web: İstemci/sunucu iletişimini sağlayan sınıf ve arayüzleri içerir.Bu namespace aynı zamanda cookie işleme, dosya transferi, exception information ve çıktı ön bellekleme denetimlerini de içerir.
teşekkürler … RUMEYSA NUR ARSLAN 133/11C