.NET Framework’e Genel Bakış
.NET Framework, Windows uygulamaları ve web hizmetleri oluşturmayı ve çalıştırmayı destekleyen bir teknolojidir. .NET Framework, aşağıdaki hedefleri yerine getirmek için tasarlanmıştır:
Nesne kodunun yerel olarak depolanıp yürütülür, yerel olarak yürütülür ancak web tarafından dağıtılır veya uzaktan yürütülürse tutarlı, nesne odaklı bir programlama ortamı sağlayın.
Aşağıdakiler için bir kod yürütme ortamı sağlayın:
Yazılım dağıtımı ve sürüm çakışmalarını en aza indirir.
Bilinmeyen veya yarı güvenilir bir üçüncü taraf tarafından oluşturulan kod da dahil olmak üzere kodun güvenli bir şekilde yürütülmesini teşvik eder.
Betikli veya yorumlanmış ortamların performans sorunlarını ortadan kaldırır.
Geliştirici deneyimini Windows tabanlı uygulamalar ve Web tabanlı uygulamalar gibi çok çeşitli uygulama türlerinde tutarlı hale getirin.
.NET Framework tabanlı kodun diğer kodlarla tümleştirilmesini sağlamak için tüm iletişimi sektör standartlarına göre oluşturun.
Not
.NET Framework'e güvenlik ve güvenilirlik hata düzeltmeleri ile aylık hizmet sağlanır. .NET Framework, Windows'a dahil edilmeye devam edecektir ve kaldırma planı yoktur. .NET Framework uygulamalarınızı geçirmeniz gerekmez, ancak yeni geliştirme için .NET 6 veya üzerini kullanın.
.NET Framework, ortak dil çalışma zamanı (CLR) ve .NET Framework sınıf kitaplığından oluşur. Ortak dil çalışma zamanı .NET Framework'ün temelidir. Çalışma zamanını yürütme zamanında kodu yöneten, bellek yönetimi, iş parçacığı yönetimi ve uzaktan iletişim gibi temel hizmetler sağlayan ve aynı zamanda sıkı tür güvenliği ve güvenliği ve sağlamlığı destekleyen diğer kod doğruluğu biçimlerini zorlayan bir aracı olarak düşünün. Aslında, kod yönetimi kavramı çalışma zamanının temel bir ilkesidir. Çalışma zamanını hedefleyen kod yönetilen kod olarak bilinirken, çalışma zamanını hedeflemeyen kod yönetilmeyen kod olarak bilinir. Sınıf kitaplığı, geleneksel komut satırı veya grafik kullanıcı arabirimi (GUI) uygulamalarından Web Forms ve XML web hizmetleri gibi ASP.NET tarafından sağlanan en son yeniliklere dayalı uygulamalar geliştirmek için kullandığınız kapsamlı, nesne odaklı bir yeniden kullanılabilir tür koleksiyonudur.
.NET Framework, ortak dil çalışma zamanını kendi işlemlerine yükleyen ve yönetilen kodun yürütülmesini başlatan yönetilmeyen bileşenler tarafından barındırılabilir, böylece hem yönetilen hem de yönetilmeyen özelliklerden yararlanan bir yazılım ortamı oluşturulur. .NET Framework yalnızca birkaç çalışma zamanı ana bilgisayarını sağlamakla kalmaz, aynı zamanda üçüncü taraf çalışma zamanı konaklarının geliştirilmesini de destekler.
Örneğin, ASP.NET yönetilen kod için ölçeklenebilir, sunucu tarafı bir ortam sağlamak üzere çalışma zamanını barındırıyor. ASP.NET, ASP.NET uygulamaları ve XML web hizmetlerini etkinleştirmek için çalışma zamanıyla doğrudan çalışır ve her ikisi de bu makalenin ilerleyen bölümlerinde ele alınmalıdır.
Aşağıdaki çizimde, ortak dil çalışma zamanı ile sınıf kitaplığının uygulamalarınızla ve genel sistemle ilişkisi gösterilmektedir. Çizimde, yönetilen kodun daha büyük bir mimaride nasıl çalıştığı da gösterilmektedir.
Aşağıdaki bölümlerde .NET Framework'ün ana özellikleri daha ayrıntılı olarak açıklanmaktadır.
Ortak dil çalışma zamanının özellikleri
Ortak dil çalışma zamanı bellek, iş parçacığı yürütme, kod yürütme, kod güvenliği doğrulama, derleme ve diğer sistem hizmetlerini yönetir. Bu özellikler, ortak dil çalışma zamanında çalışan yönetilen koda yöneliktir.
Güvenlikle ilgili olarak, yönetilen bileşenler kaynaklarını (İnternet, kurumsal ağ veya yerel bilgisayar gibi) içeren bir dizi faktöre bağlı olarak çeşitli güven dereceleri verilir. Başka bir deyişle, yönetilen bir bileşen aynı etkin uygulamada kullanılsa bile dosya erişim işlemlerini, kayıt defteri erişim işlemlerini veya diğer hassas işlevleri gerçekleştiremeyebilir veya gerçekleştiremeyebilir.
Çalışma zamanı ayrıca ortak tür sistemi (CTS) olarak adlandırılan katı bir tür ve kod doğrulama altyapısı uygulayarak kod sağlamlığını zorlar. CTS, tüm yönetilen kodun kendi kendine açıklanmasını sağlar. Çeşitli Microsoft ve üçüncü taraf dil derleyicileri, CTS'ye uygun yönetilen kod oluşturur. Bu, yönetilen kodun diğer yönetilen türleri ve örnekleri kullanabileceği, ancak tür uygunluğu ve tür güvenliğini kesinlikle zorunlu tutması anlamına gelir.
Ayrıca, çalışma zamanının yönetilen ortamı birçok yaygın yazılım sorununu ortadan kaldırır. Örneğin, çalışma zamanı nesne düzenini otomatik olarak işler ve nesnelere yapılan başvuruları yönetir ve artık kullanılmadığında serbest bırakılır. Bu otomatik bellek yönetimi en yaygın iki uygulama hatasını, bellek sızıntılarını ve geçersiz bellek başvurularını çözer.
Çalışma zamanı, geliştirici üretkenliğini de hızlandırır. Örneğin, programcılar uygulamaları kendi tercih ettikleri geliştirme dillerinde yazar ancak çalışma zamanından, sınıf kitaplığından ve diğer geliştiriciler tarafından diğer dillerde yazılan bileşenlerden tam olarak yararlanıyor. Çalışma zamanını hedeflemeyi seçen tüm derleyici satıcıları bunu yapabilir. .NET Framework'leri hedefleyen dil derleyicileri.NET Framework'ün özelliklerini bu dilde yazılmış mevcut kodlar için kullanılabilir hale getirir ve bu da mevcut uygulamalar için geçiş sürecini büyük ölçüde azaltır.
Çalışma zamanı geleceğin yazılımı için tasarlanmış olsa da, bugün ve düne ait yazılımları da destekler. Yönetilen ve yönetilmeyen kod arasında birlikte çalışabilirlik, geliştiricilerin gerekli COM bileşenlerini ve DLL'lerini kullanmaya devam etmelerini sağlar.
Çalışma zamanı, performansı geliştirmek için tasarlanmıştır. Ortak dil çalışma zamanı birçok standart çalışma zamanı hizmeti sağlasa da yönetilen kod hiçbir zaman yorumlanmamıştır. Tam zamanında (JIT) derleme olarak adlandırılan bir özellik, tüm yönetilen kodun yürütülmekte olduğu sistemin yerel makine dilinde çalışmasını sağlar. Bu arada, bellek yöneticisi parçalanmış bellek olasılıklarını kaldırır ve performansı daha da artırmak için bellek başvurunun yerelliğini artırır.
Son olarak, çalışma zamanı Microsoft SQL Server ve Internet Information Services (IIS) gibi yüksek performanslı, sunucu tarafı uygulamalar tarafından barındırılabilir. Bu altyapı, iş mantığınızı yazmak için yönetilen kodu kullanmanıza olanak tanırken, çalışma zamanı barındırmayı destekleyen endüstrinin en iyi kurumsal sunucularının üstün performansının keyfini çıkarmanızı sağlar.
.NET Framework sınıf kitaplığı
.NET Framework sınıf kitaplığı, ortak dil çalışma zamanıyla sıkı bir şekilde tümleşen yeniden kullanılabilir türlerden oluşan bir koleksiyondur. Sınıf kitaplığı nesne odaklıdır ve kendi yönetilen kodunuzun işlevsellik türetdiği türler sağlar. Bu, .NET Framework türlerinin kullanımını kolaylaştırmakla kalmaz, aynı zamanda .NET Framework'ün yeni özelliklerini öğrenmeyle ilgili süreyi de azaltır. Ayrıca, üçüncü taraf bileşenleri .NET Framework'teki sınıflarla sorunsuz bir şekilde tümleşir.
Örneğin, .NET Framework koleksiyon sınıfları kendi koleksiyon sınıflarınızı geliştirmek için bir dizi arabirim uygular. Koleksiyon sınıflarınız .NET Framework'teki sınıflarla sorunsuz bir şekilde harmanlar.
Nesne odaklı bir sınıf kitaplığından bekleyebileceğiniz gibi.NET Framework türleri dize yönetimi, veri toplama, veritabanı bağlantısı ve dosya erişimi gibi bir dizi ortak programlama görevini gerçekleştirmenizi sağlar. Bu yaygın görevlere ek olarak, sınıf kitaplığı çeşitli özel geliştirme senaryolarını destekleyen türler içerir. Aşağıdaki uygulama ve hizmet türlerini geliştirmek için .NET Framework kullanabilirsiniz:
Konsol uygulamaları. Bkz. Konsol Uygulamaları Oluşturma.
Windows GUI uygulamaları (Windows Forms). Bkz. Windows Forms.
Windows Presentation Foundation (WPF) uygulamaları. Bkz. Windows Presentation Foundation.
uygulamaları ASP.NET. Bkz. ASP.NET ile Web Uygulamaları.
Windows hizmetleri. Bkz. Windows Hizmet Uygulamalarına Giriş.
Windows Communication Foundation (WCF) kullanan hizmet odaklı uygulamalar. Bkz. WCF ile Hizmet Odaklı Uygulamalar.
Windows Workflow Foundation (WF) kullanan iş akışı özellikli uygulamalar. Bkz. Windows Workflow Foundation.
Windows Forms sınıfları, Windows GUI geliştirmeyi büyük ölçüde basitleştiren kapsamlı bir yeniden kullanılabilir türler kümesidir. bir ASP.NET Web Formu uygulaması yazarsanız, Web Forms sınıflarını kullanabilirsiniz.