BCL (bibliothèque de classes de base) vs FCL (bibliothèque de classes de cadre)

98

Quelle est la différence entre les deux? Pouvons-nous les utiliser de manière interchangeable?

Joan Venge
la source

Réponses:

98

La bibliothèque de classes de base (BCL) est littéralement cela, la base. Il contient des types basiques et fondamentaux comme System.Stringet System.DateTime.

La bibliothèque de classes Framework (FCL) est la bibliothèque plus large qui contient la totalité: ASP.NET, WinForms, la pile XML, ADO.NET et plus encore. On pourrait dire que la FCL comprend la BCL.

Andrew Webb
la source
35
À un niveau simple, .NET Framework = bibliothèques (FCL, BCL), compilateurs de langage (C #, VB.NET) et Common Language Runtime (CLR). De plus, il y a tout l'écosystème qui l'entoure: Visual Studio, MSDN Help, etc.
Andrew Webb
1
@JoanVenge BCL est un sous-ensemble de FCL; BCL est un sous-composant de FCL, pas un composant séparé tous ensemble.
iliketocode
26

BCL :

Bibliothèque .NET Framework, BCL est la norme pour la bibliothèque d'exécution C # et l'une des bibliothèques standard CLI (Common Language Infrastructure). BCL fournit des types représentant les types de données CLI intégrés, l'accès aux fichiers de base, les collections, les attributs personnalisés, la mise en forme, les attributs de sécurité, les flux d'E / S, la manipulation de chaînes, etc.

FCL :

La bibliothèque de classes .NET Framework est exactement ce que son nom suggère: une bibliothèque de classes et d'autres types que les développeurs peuvent utiliser pour se faciliter la vie. Bien que ces classes soient elles-mêmes écrites en C #, elles peuvent être utilisées à partir de n'importe quel langage basé sur CLR

Vous utiliserez le BCL avec certaines parties du FCL avec chaque type de projet. Donc System.Windows.Forms (une bibliothèque séparée) ou System.Web, avec le BCL de mscorlib et System.dll

Chris S
la source
4
Chez Microsoft, je crois que l'équipe CLR est propriétaire de la BCL, alors que de nombreuses équipes possèdent différentes parties de la FCL.
rjdevereux
22

BCL signifie bibliothèque de classes de base également connue sous le nom de bibliothèque de classes (CL). BCL est un sous-ensemble de la bibliothèque de classes Framework (FCL). La bibliothèque de classes est la collection de types réutilisables qui sont étroitement intégrés à CLR. La bibliothèque de classes de base fournit des classes et des types qui sont utiles pour effectuer des opérations quotidiennes, par exemple en traitant des types de chaînes et de primitifs, la connexion à la base de données, les opérations d'E / S.

tandis que la bibliothèque de classes Framework contient des milliers de classes utilisées pour créer différents types d'applications et fournit toutes les fonctionnalités et services de base dont les applications ont besoin. FCL comprend des classes et des services pour prendre en charge différentes variétés d'applications, par exemple

  • Application de bureau,

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

  • Application mobile,

  • Application Xbox,

  • services Windows, etc.

Plus de détails sur Qu'est-ce que BCL / CL dans .Net?

entrez la description de l'image ici

Ashish Shukla
la source
ashish: pouvez-vous fournir une réponse plus descriptive sur BCL
amitguptageek
4
gentil, une image vaut mille mots
mkb
@amitguptageek, vous pouvez vérifier plus de détails sur modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla
14

La bibliothèque de classes de base (BCL) est l'ensemble principal de classes qui servent d'API de base du Common Language Runtime. Les classes de mscorlib.dll et certaines des classes de System.dll et System.core.dll sont considérées comme faisant partie de la BCL. Il inclut les classes dans des espaces de noms tels que System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization et System.Data etc.

La bibliothèque de classes Framework (FCL) est un sur-ensemble des classes BCL et fait référence à la bibliothèque de classes entière fournie avec .NET Framework. Il comprend un ensemble étendu de bibliothèques, notamment Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation, entre autres.

Il y a donc des différences et vous ne devez pas les utiliser de manière interchangeable.

Praveen Prajapati
la source
12

La BCL est un sous-ensemble de la FCL. BCL respecte la spécification ECMA pour l'infrastructure de langage commun. Ensuite, Microsoft a ajouté toutes leurs qualités comme les données et le xml et l'a appelé la bibliothèque de classes Framework. En gros, ils ont pris la BCL et l'ont fait passer à 11!

Joshua Belden
la source
2
Merci, qu'entendez-vous par «aller à 11»?
Joan Venge
10
Référence Spinal Tap
Chris S
1
Je n'ai pas entendu celui-là. Pouvez-vous me dire ce que cela signifie pour ne pas être en reste?
Joan Venge
8
Donc dans le film 'This is Spinal Tap' qui est un regard satirique sur des groupes de heavy metal dans un style simulé-umentaire, le guitariste (Nigel Tufnel) montre un ampli qu'il avait spécialement fabriqué à Marty DiBergi: Nigel Tufnel: Les chiffres tous vont à onze heures. Regardez, à travers le tableau, onze, onze, onze et ... Marty DiBergi: Oh, je vois. Et la plupart des amplis vont jusqu'à dix? : Exactement. : Cela signifie-t-il que c'est plus fort? Est-ce plus fort? : Eh bien, c'est un plus fort, n'est-ce pas?
Ichorus
1
@Ichorus mais pourquoi ne font-ils pas juste dix plus fort?
Simon Bosley
8

Ce qui suit est cité dans le livre "The C # Player's Guide".

Le BCL contient tous les types intégrés, tableaux, exceptions, bibliothèques mathématiques, E / S de fichier de base, sécurité, collections, réflexion, mise en réseau, manipulation de chaînes, threading, etc. Bien que ce ne soit pas un guide parfait, une règle générale est que tout espace de noms commençant par System fait partie de la BCL.

Au-delà de la BCL, Microsoft propose de nombreuses autres classes avec .NET Framework. En général, ces éléments supplémentaires couvrent de vastes domaines fonctionnels, tels que l'accès aux bases de données ou les interfaces utilisateur graphiques (Windows Forms ou WPF). Cette collection entière, y compris le BCL, est appelée la bibliothèque de classes de cadre ou FCL. Dans une discussion informelle, les gens utilisent parfois FCL et BCL de manière interchangeable, ce qui n'est pas strictement correct, mais c'est peut-être suffisant pour la plupart des choses.

user1899020
la source