08 December 2016

C# Bazı Kavramlar

Net Framework: Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş komple bir uygulama geliştirme platformudur. .NET kodu ilk önce IL’ ye (Intermediate Language-Ara dil-veya MSIL) derler, bu IL kodu çalıştırılmak istendiğinde CLR, JIT derleyicilerini kullanarak kodu makine diline çevirir.

MSIL (Microsoft Intermediate Language): .NET uyumlu bir dil ile derleme yapıldığında program kodu makine koduna değil de MSIL (Microsoft Intermediate Language)’e çevrilir.

CLR (Common Language Runtime): Ortak Dil Çalışma Platformu olarak da adlandırılan CLR, makine diline çevrilmiş bu kodu önbellekte tutar, bu performans artışına sebep olurken diğer taraftan sistem hafızasında küçümsenmeyecek yer işgal eder. .NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile programımız arasında yer alan arabirimdir.

Assembly: .Net’te derlenen sınıf kütüphaneleri (class library ‘ler) ismine Assembly denilen dll dosyalarını oluşturur. Bu anlamda bir Assembly, bir ya da daha fazla fiziksel dosyayı barındıran bir koleksiyondur. Bu dosyalar; assembly çerisindeki derlenmiş sınıfların kodları, resimler, resource dosyaları ve diğer binary dosyalardır. Assembly dosyaları .dll ya da .exe uzantılı olabilir.

JIT Derleyiciler (Just in Time): C# ile IL’ ye derlediğimiz programı çalıştırırken JIT derleyicileri devreye girer. Bu derleyiciler programın çalıştırıldığı sistemin ve işlemcinin anlayabileceği makine kodunu oluşturur.

Temel Sınıf Kütüphaneleri (The Base Class Library): 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şlerdir.

Türler (TYPES): Türler C# da ikiye ayrılır: Değer türleri ve referans türleri.Değer türleri ve referans türleri aynı zamanda farklı iki bellek bölgesini anlatmaktadır: Stack ve Heap bellek bölgesi. Dolayısıyla değer türleri Stack bellek bölgesi ile ilişkili, referans türleri de Heap bellek bölgesi ile ilişkilidir. Değer türünden bir değişken Stack bellek bölgesinde tutulur, Referans türünden bir değişkenin kendisi Stack bölgesinde tutulurken temsil ettiği nesne Heap bellek bölgesinde tutulur. Değer türleri C# da kullanılan int, long, char gibi doğal türlerden oluşmaktadır. Referans türleri adres tutan türlerdir. C#’da tüm nesneler referans türündendir.

Sınıflar (Classes): Gerçek C# ortamına geçtiğimizde, herşeyin bir nesne olduğunu görürüz. Ancak her nesne temel olarak Object sınıfından türemektedir. Yani herşeyin üstünde bir sınıf kavramı vardır. Sınıflar, birtakım üyelere sahiptir. Bu üyeler, bu sınıftan örneklendirilen nesneler için farklı değerlere sahip olur. Yani bir sınıf varken, bu sınıftan örneklendirilmiş n sayıda nesne oluşturabiliriz. Kaldı ki, bu nesnelerin her biri tanımlandığı sınıf için ayrı ayrı özelliklere sahip olabilir. Sınıf bildirimi class anahtar kelimesi ile gerçekleştirilir.

Garbage Collector (Çöp Toplayıcı): alt seviyede çalışarak uygulamamızda dinamik olarak oluşturulmuş ve artık referans edilmeyen verileri hafızadan boşaltarak işletim sistemine iade eder. Bu sayede oluşturulmuş ve hala kullanılmayan veriler boş yere hafızada yer kaplamaz.

CTS (The Common Type System): Ortak Tipler Sistemi – yazılan kodlar ortak bir tip standardına göre ara dile çevrilir. Böylece farklı dillerde yazılmış olan uygulamalar birbiri ile kolayca haberleşebilir.

OOP (Nesne Tabanlı Programlama): Gerçek hayatta var olan olguların programlamaya aktarılmasındaki yeni yaklaşımdır. Gerçek hayattaki her türlü nesneyi program ortamında modelleyebilmemizi sağlayan bir programlama tekniğidir.

Encapsulation (Kapsülleme): İşlemlerin ve verilerin gizlenmesine veya bir grup içerisinde toplanmasına kapsülleme denir. Kapsülleme sayesinde, sınıfımız içinde kullandığımız alanların dışarıdan herhangi bir etki ile doğrudan değiştirilmelerini engellemiş oluyoruz

Inheritance (Kalıtım): Bir sınıftan yeni sınıflar türetmektir. Türetilen her bir sınıf, türediği sınıfın özelliklerini de devralır.

Polymorphism (Çok Biçimlilik): Bir metodun farklı nesnelerde veya farklı ortamlarda farklı sonuçlar üretmesidir.

Compiler (Derleyici): Uygulamayı makine diline çeviren ve programda  söz dizim hatalarının olup olmadığını bulan yazılımlara denir. Bir başka değimle, derleyici kaynak kodu (source code) makine koduna (machine code) çeviren uygulamadır. 

Comments

  1. MeallfafDig says:

    Teşekkürler.