Yükleniyor...

C# Namespace ve Assembly Kavramı

C#’ta namespace ve assembly kavramlarını öğrenin. Kodun düzenlenmesi, bağımlılık yönetimi ve proje yapısı örneklerle anlatılıyor.

C# ve .NET dünyasında kodun düzenli, yönetilebilir ve yeniden kullanılabilir olması için namespace (ad alanı) ve assembly (derleme) kavramları kullanılır. Bu yapılar, büyük projelerde bile kodun parçalanmasını, isim çakışmalarının önlenmesini ve bileşenlerin kolayca paylaşılmasını sağlar.


Namespace (Ad Alanı)

Namespace, sınıf, arayüz, enum ve diğer türleri mantıksal bir grup altında toplar. Böylece aynı isimli sınıflar farklı namespace altında çakışmadan kullanılabilir.


namespace ProjeA.Models
{
    class Kullanici
    {
        public string Ad { get; set; }
    }
}

namespace ProjeB.Models
{
    class Kullanici
    {
        public string AdSoyad { get; set; }
    }
}

Bu örnekte iki farklı Kullanici sınıfı vardır. Namespace kullanıldığında ProjeA.Models.Kullanici veya ProjeB.Models.Kullanici şeklinde erişilir.


using İfadesi

using ifadesi, belirli bir namespace içindeki türlere doğrudan erişim sağlar.


using ProjeA.Models;

class Program
{
    static void Main()
    {
        Kullanici k = new Kullanici();
        k.Ad = "Ahmet";
        Console.WriteLine(k.Ad);
    }
}

Burada ProjeA.Models.Kullanici yerine sadece Kullanici yazılabilir.


Assembly (Derleme)

Assembly, derlenmiş .NET kodunun dağıtılabilir birimidir. Çoğunlukla .dll (Dynamic Link Library) veya .exe (çalıştırılabilir dosya) uzantılıdır.


Assembly İçeriği

Bir assembly sadece kod değil, aynı zamanda meta veriler (örneğin sürüm bilgisi) ve kaynak dosyaları da barındırır.


TL;DR

  • Namespace: Kodları mantıksal gruplar halinde düzenler.
  • Assembly: Derlenmiş kodun dağıtılabilir birimi (.dll, .exe).
  • Namespace → isim çakışmalarını önler, düzen sağlar.
  • Assembly → kod, metadata ve kaynakları tek paket halinde barındırır.