BCL (libreria di classi di base) vs FCL (libreria di classi di framework)


Risposte:


98

La Base Class Library (BCL) è letteralmente quella, la base. Contiene tipi di base, fondamentali come System.Stringe System.DateTime.

La Framework Class Library (FCL) è la libreria più ampia che contiene la totalità: ASP.NET, WinForms, lo stack XML, ADO.NET e altro. Si potrebbe dire che la FCL include la BCL.


35
A un livello semplice, .NET Framework = librerie (FCL, BCL), compilatori di linguaggi (C #, VB.NET) e Common Language Runtime (CLR). Inoltre, c'è l'intero ecosistema che lo circonda: Visual Studio, Guida di MSDN e altro ancora.
Andrew Webb

1
@JoanVenge BCL è un sottoinsieme di FCL; BCL è un sottocomponente di FCL, non un componente separato nel complesso.
iliketocode

26

BCL :

Una libreria .NET Framework, BCL è lo standard per la libreria runtime C # e una delle librerie standard Common Language Infrastructure (CLI). BCL fornisce tipi che rappresentano i tipi di dati CLI integrati, accesso ai file di base, raccolte, attributi personalizzati, formattazione, attributi di sicurezza, flussi di I / O, manipolazione di stringhe e altro.

FCL :

La libreria di classi .NET Framework è esattamente ciò che suggerisce il nome: una libreria di classi e altri tipi che gli sviluppatori possono utilizzare per semplificare la loro vita. Sebbene queste classi siano scritte in C #, possono essere utilizzate da qualsiasi linguaggio basato su CLR

Utilizzerai il BCL con alcune parti del FCL con ogni tipo di progetto. Quindi System.Windows.Forms (una libreria separata) o System.Web, con BCL da mscorlib e System.dll


4
In Microsoft, credo che il team CLR possieda il BCL, mentre molti team possiedono parti diverse del FCL.
rjdevereux

22

BCL è l' acronimo di libreria di classi di base nota anche come libreria di classi (CL). BCL è un sottoinsieme della libreria di classi Framework (FCL). La libreria di classi è la raccolta di tipi riutilizzabili strettamente integrati con CLR. La libreria di classi di base fornisce classi e tipi che sono utili per eseguire operazioni quotidiane, ad esempio gestire stringhe e tipi primitivi, connessione al database, operazioni di I / O.

mentre la libreria di classi Framework contiene migliaia di classi utilizzate per creare diversi tipi di applicazioni e fornisce tutte le funzionalità ei servizi di base di cui l'applicazione ha bisogno. FCL include classi e servizi per supportare diverse varietà di applicazioni, ad es

  • Applicazione desktop,

  • Applicazione Web (ASP.Net, MVC, WCF),

  • Applicazione mobile,

  • Applicazione Xbox,

  • servizi Windows ecc.

Maggiori dettagli su Cos'è BCL / CL in .Net?

inserisci qui la descrizione dell'immagine


ashish: puoi fornire qualche risposta più descrittiva su BCL
amitguptageek

4
bello, un'immagine vale più di mille parole
mkb

@amitguptageek puoi controllare maggiori dettagli su modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla

13

La Base Class Library (BCL) è il set di classi principale che funge da API di base del Common Language Runtime. Le classi in mscorlib.dll e alcune delle classi in System.dll e System.core.dll sono considerate parte del BCL. Include le classi in spazi dei nomi come System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization e System.Data ecc.

La Framework Class Library (FCL) è un superset delle classi BCL e fa riferimento all'intera libreria di classi fornita con .NET Framework. Include un set esteso di librerie, tra cui Windows Form, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation tra gli altri.

Quindi ci sono differenze e non devi usarle in modo intercambiabile.


12

Il BCL è un sottoinsieme di FCL. BCL rispetta la specifica ECMA per l'infrastruttura del linguaggio comune. Quindi Microsoft ha aggiunto tutta la loro bontà come dati e xml e l'ha chiamata Framework Class Library. Praticamente hanno preso il BCL e sono arrivati ​​a 11!


2
Grazie, cosa intendi con "vai a 11"?
Joan Venge il

10
Riferimento Spinal Tap
Chris S

1
Non l'ho sentito. Puoi dirmi cosa significa così non sono escluso?
Joan Venge

8
Quindi nel film 'This is Spinal Tap', che è uno sguardo satirico alle band heavy metal in uno stile mock-umentary, il chitarrista (Nigel Tufnel) mostra un amplificatore che aveva appositamente realizzato per Marty DiBergi: Nigel Tufnel: The numbers vanno tutti alle undici. Guarda, su tutta la linea, undici, undici, undici e ... Marty DiBergi: Oh, capisco. E la maggior parte degli amplificatori arriva fino a dieci? : Esattamente. : Significa che è più forte? È più forte? : Beh, è ​​uno più forte, non è vero?
Ichorus

1
@ Icoro ma perché non fanno solo dieci più forte?
Simon Bosley

8

Quanto segue è citato dal libro "The C # Player's Guide".

Il BCL contiene tutti i tipi incorporati, array, eccezioni, librerie matematiche, I / O di file di base, sicurezza, raccolte, reflection, networking, manipolazione di stringhe, threading e altro. Sebbene non sia una guida perfetta, una regola generale è che qualsiasi spazio dei nomi che inizia con System fa parte del BCL.

Oltre a BCL, ci sono molte altre classi fornite da Microsoft con .NET Framework. In generale, questi elementi aggiuntivi coprono ampie aree funzionali, come l'accesso al database o le interfacce utente grafiche (Windows Form o WPF). L'intera raccolta, incluso BCL, è denominata Framework Class Library o FCL. Nelle discussioni casuali, a volte le persone usano FCL e BCL in modo intercambiabile, il che non è strettamente corretto, ma forse è abbastanza buono per la maggior parte delle cose.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.