BCL (Temel Sınıf Kitaplığı) vs FCL (Çerçeve Sınıf Kitaplığı)


Yanıtlar:


98

Temel Sınıf Kitaplığı (BCL) tam anlamıyla temeldir. Temel içeren, temel türleri gibi System.Stringve System.DateTime.

Çerçeve Sınıf Kitaplığı (FCL), toplamı içeren daha geniş kitaplıktır: ASP.NET, WinForms, XML yığını, ADO.NET ve daha fazlası. FCL'nin BCL'yi içerdiğini söyleyebilirsiniz.


35
Basit bir düzeyde, .NET Framework = kitaplıklar (FCL, BCL), dil derleyicileri (C #, VB.NET) ve Ortak Dil Çalışma Zamanı (CLR). Ayrıca, bunu çevreleyen tüm eko ​​sistem var: Visual Studio, MSDN Yardımı ve daha fazlası.
Andrew Webb

1
@JoanVenge BCL, FCL'nin bir alt kümesidir; BCL, FCL'nin bir alt bileşenidir, hepsi birlikte ayrı bir bileşen değildir.
iliketocode

26

BCL :

Bir .NET Framework kitaplığı olan BCL, C # çalışma zamanı kitaplığı için standarttır ve Ortak Dil Altyapısı (CLI) standart kitaplıklarından biridir. BCL, yerleşik CLI veri türlerini, temel dosya erişimini, koleksiyonları, özel öznitelikleri, biçimlendirmeyi, güvenlik özniteliklerini, G / Ç akışlarını, dize manipülasyonunu ve daha fazlasını temsil eden türler sağlar.

FCL :

.NET Framework sınıf kitaplığı tam olarak adından da anlaşılacağı gibi: geliştiricilerin hayatlarını kolaylaştırmak için kullanabilecekleri bir sınıf kitaplığı ve diğer türler. Bu sınıfların kendileri C # ile yazılırken, CLR tabanlı herhangi bir dilden kullanılabilirler.

BCL'yi FCL'nin bazı bölümlerinde her proje türüyle kullanacaksınız. Yani System.Windows.Forms (ayrı bir kitaplık) veya System.Web, mscorlib ve System.dll'den BCL ile


4
Microsoft'ta, birçok takım FCL'nin farklı bölümlerine sahipken, CLR ekibinin BCL'ye sahip olduğuna inanıyorum.
rjdevereux

22

BCL , Sınıf kitaplığı (CL) olarak da bilinen Temel sınıf kitaplığı anlamına gelir. BCL, Framework sınıf kitaplığının (FCL) bir alt kümesidir. Sınıf kitaplığı, CLR ile yakından entegre olan yeniden kullanılabilir türlerin koleksiyonudur. Temel Sınıf kitaplığı, günlük işlemlerin gerçekleştirilmesinde yardımcı olan sınıflar ve türler sağlar, örn. Dizi ve ilkel türler, veritabanı bağlantısı, GÇ işlemleri ile ilgilenme.

Framework sınıf kitaplığı, farklı uygulama türleri oluşturmak için kullanılan binlerce sınıf içerir ve uygulamanın ihtiyaç duyduğu tüm temel işlevleri ve hizmetleri sağlar. FCL, farklı uygulama çeşitlerini desteklemek için sınıflar ve hizmetler içerir.

  • Masaüstü uygulaması,

  • Web uygulaması (ASP.Net, MVC, WCF),

  • Mobil uygulama,

  • Xbox uygulaması,

  • Windows hizmetleri vb.

Daha fazla ayrıntı .Net'te BCL / CL nedir?

görüntü açıklamasını buraya girin


Ashish: BCL hakkında daha açıklayıcı bir cevap verebilir misiniz
amitguptageek

4
güzel, Bir resim bin kelimeye bedeldir
mkb

@amitguptageek daha fazla ayrıntıyı modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla

14

Temel Sınıf Kitaplığı (BCL), Common Language Runtime'ın temel API'si olarak hizmet veren temel sınıf kümesidir. Mscorlib.dll'deki sınıflar ile System.dll ve System.core.dll'deki bazı sınıfların BCL'nin bir parçası olduğu kabul edilir. System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization ve System.Data gibi ad alanlarındaki sınıfları içerir.

Çerçeve Sınıf Kitaplığı (FCL), BCL sınıflarının bir üst kümesidir ve .NET Framework ile birlikte gelen tüm sınıf kitaplığını ifade eder. Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation ve diğerleri dahil olmak üzere genişletilmiş bir kitaplık kümesi içerir.

Yani farklılıklar var ve bunları birbirinin yerine kullanmamalısınız.


12

BCL, FCL'nin bir alt kümesidir. BCL, ortak dil altyapısı için ECMA şartnamesine uygundur. Sonra Microsoft, data ve xml gibi tüm iyiliklerini ekledi ve buna Framework Sınıf Kitaplığı adını verdi. Temelde BCL'yi aldılar ve 11'e çıkardılar!


2
Teşekkürler, "11'e git" ile ne demek istiyorsun?
Joan Venge

11
Spinal Tap referansı
Chris S

1
Bunu duymadım. Dışarıda kalmamam için ne anlama geldiğini bana söyleyebilir misin?
Joan Venge

8
Yani gitarist (Nigel Tufnel), ağır metal gruplarına sahte-belgesel tarzda hicivsel bir bakış olan 'This is Spinal Tap' filminde, Marty DiBergi'ye özel olarak yaptığı bir amfiyi gösteriyor: Nigel Tufnel: Rakamlar hepsi on bire gider. Bak, panonun tam karşısında, on bir, on bir, on bir ve ... Marty DiBergi: Ah, anlıyorum. Ve çoğu amfi ona kadar mı çıkıyor? : Kesinlikle. : Bu daha gürültülü olduğu anlamına mı geliyor? Daha yüksek sesle mi? : Peki, daha yüksek sesle değil mi?
Ichorus

1
@Ichorus ama neden 10'u daha yüksek sesle yapmıyorlar?
Simon Bosley

8

Aşağıdakiler "The C # Player Guide" kitabından alıntılanmıştır.

BCL, tüm yerleşik türleri, dizileri, istisnaları, matematik kitaplıklarını, temel Dosya G / Ç, güvenlik, koleksiyonlar, yansıma, ağ oluşturma, dizi işleme, iş parçacığı ve daha fazlasını içerir. Kusursuz bir kılavuz olmasa da, genel bir kural, Sistem ile başlayan herhangi bir ad alanının BCL'nin bir parçası olmasıdır.

BCL'nin ötesinde, Microsoft'un .NET Framework ile birlikte gönderdiği daha birçok sınıf vardır. Genel olarak, bu ek şeyler, veritabanı erişimi veya grafik kullanıcı arabirimleri (Windows Forms veya WPF) gibi geniş işlevsel alanları kapsar. BCL de dahil olmak üzere bu koleksiyonun tamamına Çerçeve Sınıf Kitaplığı veya FCL denir. Sıradan bir tartışmada, bazen insanlar FCL ve BCL'yi birbirinin yerine kullanır, bu kesinlikle doğru değildir, ancak belki de çoğu şey için yeterince iyidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.