DesignClup
Hoşgeldiniz. Bu site bir rosKing [ C-AptaiN ] & ProgramCity & Sizin-Siteniz Projesidir.
Yapım Aşamasındayız...
.NET nedir ?
.Net Nedir?
![]() |
|
.NET platformu, sağlam, ölçeklenebilir ve dağıtılmış uygulamalar oluşturmak için yeni ortam oluşturan ve bu uygulamaları oluştururken bünyesindeki birçok dilden herhangi birini seçme özgürlüğü sunan teknolojilerdir.
İşte bu uygulamaları geliştirmemiz için .NET’in bir parçası olan .NET Framework’ü kullanırız.
.NET Framework .NET tabanlı uygulamaların oluşturulmasını ve çalışmasını sağlayan bir yapıdır. Yukarda da değindiğim gibi .NET Framework bu uygulamaları yaparken birçok dilden faydalanır. Bu diller; temel dil tanımları (CLS- Common Language Spefication) ve ortak tip sistemi (CTS –Common Type System) ile aynı özellikleri taşımak zorundadırlar.
.Net Framework; Common Language Runtime (CLR) ve Framework Sınıf Kütüphanelerinden (Framework Class Library-FCL) oluşur. (FCL bazen Base Class Library-BCL olarak da adlandırılmaktadır.)
Resim1
Common Language Runtime (CLR):
CLS kurallarına uygun farklı dillerde yazılmış uygulamaların birlikte çalışmasını sağlayan bir ortak çalışma zamanı platformudur. Örneğin C# programları CLR’de çalışmak üzere yaratılırlar. Peki bunun ne gibi bir faydası var? Bunun cevabı elbetteki taşınabilirliktir. Örneğin C veya C++ gibi dillerde bir program yaratmaya kalktığınızda bu programı Linux ve Windows makinelerde çalıştırmak isteseydiniz bu programı ayrı ayrı Linux ve Windows makinelerde derlemek zorunda kalacaktınız. Çünkü derleyici kodu direk makine koduna çevirecekti.
.NET Framework Class Library (FCL):
FCL, tüm .NET dillerinin ortak sınıf kitaplıklarıdır.Yani dilden bağımsız bir yapıdır. Bu sayede tüm .NET dilleri teorik olarak aynı yeteneklere sahip olmuşlardır. Bu kütüphaneler web form ( ASP.NET), ADO.NET,windows form, web servisleri ve consol uygulamaları için gerekli sınıfları içermektedirler.
.NET Framework Nasıl Çalışır ? :
Resim2
IL (Intermediate Language-Aradil):
Yukarda bahsettiğim gibi C veya C++ gibi dillerde program derlendiği zaman direk makine koduna çevriliyordu. Bu ise sadece o işlemciye özgü derleme işlemi demektir. Ama .NET’de program kodu derlendiği zaman, kod makine diline değil IL’e çevrilir. IL işlemciye bağlı bir kod değildir.
JIT (just-in-time) Derleyicileri:
.NET de IL’e çevrilen kod çalıştırılırken JIT derleyicileri devreye girer. Bu derleyiciler IL kodunu bilgisayarın anlayabileceği dile yani makine diline (Native Code) dönüştürürler.(Bakınız Resim-2.)
Resim3
Resim-3 de görülen Assembly'den kasıt bir programlama dili olan Assembly değildir. Resim-3'den de anlaşılacağı gibi Assembly .NET platformundaki herhangi bir dili kullanarak yazdığımız kodların derlenmesi sonucunda oluşan DLL veya EXE uzantılı dosyalardır.IL dosyalarının temelini bu dosyalar oluşturmaktadır.Bu dosyaların içerisinde programa ait bilgileri barındıran ve Metadata olarak adlandırılan veriler oluşmaktadır.Peki ama bu metadata'nın amacı nedir? Bu sorunun cevabı şudur: CLR'nin çalışma zamanında hangi türlerin ayrılacağını ve hangi metotların çağrılacağını bilmesine olanak sağlamaktır. Böylece CLR daha daha verimli çalışır.Metadata'nın bu şekilde sorgulanmasına yansıma (reflection) adı verilir.Örneğin Visual Studio .NET ,IntelliSense özelliğini uygulamak için yansıma yöntemlerini kullanır.(IntelliSense ile,bir namespace (ad alanı) ya da sınıfı yazarken,o sınıfa ait tüm üyeler otomatik olarak görüntülenir,böylece her sınıfın üyesinin hatırlamak zorunda kalmazsanız.)
Kaynaklar:
-
Inside C#,Tom Archer(Microsoft Press
-
Her Yönüyle C#,Sefer Algan(Pusula)