NameSpace Nedir?

Sosyal medyada paylaşın

Öncelikle Class yapısından üstün körü bahsetmek istiyorum. Class, nesne sınıfın özelliklerini barındıran küçük yapı taşıdır. NameSpace ise Class yapısının bir üst kümesi gibi düşünülebilir, içerisinde sınıf, veri türleri, fonksiyon barındıran sınıflandırma için kullanılan bir çatı yapısıdır. NameSpace kullanarak kodlarımızı sınıflandırıp daha kolay erişim sağlayabiliriz.

Bir NameSpace içerisine birbiriyle alakalı sınıf ve foksiyonları olmalıdır. Böylece NameSpace‘in var oluş amacına daha uygun bir şekilde hizmet ederiz.

NameSpace Oluşturmak

NameSpace oluşturuken “namespace NameSpaceİsmi {…………}” yapısını kullanırız. Küme Parantezi işaretleriyle NameSpace‘in kamsama alanını yani scope’unu belirleriz. Aşağıda kod örneğini bulabilirsiniz.

namespace FadeSoftware
{
    public class Example2 : MonoBehaviour
    {
        public int field1;
        public string field2;
    }
    public class Example : MonoBehaviour
    {
        public int field1;
        public string field2;

        private void Calculate()
        {

        }
    
    }
}

Gördüğünüz gibi içerisinde farklı classlar, özellikler, fonksiyonlar vs. bulunduran sınıflandırmaya yarayan bir yapıdır.

NameSpace Kullanmak

using anahtar kelimesi ile ilgili NameSpace‘e erişip kullanabiliriz.

using FadeSoftware;

Özetleyecek olursak NameSpace kullanımı okunabilirliği artırır, karmaşayı azaltır, derlemeyi kolaylaştırır. Derlemeyi nasıl mı kolaylaştırır? Örneğin projede bir değişiklik yaptınız ve tekrar derleme işlemi başlatacaksınız. Eğer NameSpace kullanmazsanız projedeki tüm kodlar tekrar derlenecektir fakat NameSpace kullanırsanız değişiklik olmayan NameSpace‘ler derleme işlemine tekrar dahil olmayacak ve daha az kaynak ve süre ile derleme işleminiz tamamlanacak.

Aşağıya UnityEngine NameSpace‘inin ufak bir örneğini bırakıyorum. UnityEngine NameSpace‘inin içerisindeki Mathf sınıfını görebiliyoruz. Unity Engine NameSpace’İnin içerisinde bunun gibi bir sürü farklı sınıf, özellik, fonksiyon bulunuyor.