BCL (Бібліотека базового класу) проти FCL (Бібліотека рамкових класів)


Відповіді:


98

Бібліотека базових класів (BCL) - це буквально це, основа. Він містить основні, фундаментальні типи, як System.Stringі System.DateTime.

Бібліотека Framework Class (FCL) - це більш широка бібліотека, яка містить сукупність: ASP.NET, WinForms, стек XML, ADO.NET та багато іншого. Можна сказати, що FCL включає BCL.


35
На простому рівні .NET Framework = бібліотеки (FCL, BCL), компілятори мови (C #, VB.NET) та загальна мова виконання (CLR). Плюс тоді є цілий екосистем, який оточує: Visual Studio, довідка MSDN та інше.
Ендрю Вебб

1
@JoanVenge BCL - це підмножина FCL; BCL - це підкомпонент FCL, а не окремий компонент разом.
iliketocode

26

BCL :

Бібліотека .NET Framework, BCL - стандарт для бібліотеки виконання C # та однієї із стандартних бібліотек загальної мовної інфраструктури (CLI). BCL надає типи, що представляють вбудовані типи даних CLI, базовий доступ до файлів, колекції, спеціальні атрибути, форматування, атрибути безпеки, потоки вводу / виводу, обробка рядків тощо.

FCL :

Бібліотека класів .NET Framework - саме те, що підказує його назва: бібліотека класів та інших типів, яку розробники можуть використовувати для полегшення свого життя. Хоча ці класи самі написані на C #, вони можуть використовуватися з будь-якої мови CLRbased

Ви будете використовувати BCL з деякими частинами FCL з кожним типом проекту. Отже System.Windows.Forms (окрема бібліотека) або System.Web, з BCL від mscorlib та System.dll


4
В Microsoft я вважаю, що команда CLR є власником BCL, тоді як багато команд володіють різними частинами FCL.
rjdevereux

22

BCL означає бібліотеку базових класів, також відому як Бібліотека класів (CL). BCL - це підмножина бібліотеки класів Framework (FCL). Бібліотека класів - це колекція типів багаторазового використання, тісно інтегрованих з CLR. Бібліотека базових класів містить класи та типи, які допомагають виконувати щоденні операції, наприклад, обробка струнних та примітивних типів, підключення до бази даних, операції вводу-виводу.

в той час як бібліотека класів Framework містить тисячі класів, які використовуються для створення різних типів додатків і надає всі основні функціональні можливості та послуги, необхідні додатку. FCL включає класи та сервіси для підтримки різних застосувань, наприклад

  • Настільний додаток,

  • Веб-додаток (ASP.Net, MVC, WCF),

  • Мобільний додаток,

  • Додаток Xbox,

  • послуги Windows

Детальніше про те, що таке BCL / CL у .Net?

введіть тут опис зображення


ashish: чи можете ви надати ще якусь описову відповідь про BCL
amitguptageek

4
приємно, Малюнок вартий тисячі слів
mkb

@amitguptageek ви можете перевірити більше деталей на modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla

13

Бібліотека базових класів (BCL) - це основний набір класів, який служить базовим API загальної мови виконання. Класи в mscorlib.dll та деякі класи в System.dll та System.core.dll вважаються частиною BCL. Він включає класи в просторах імен, таких як System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization та System.Data тощо

Бібліотека Framework Class (FCL) - це набір класів BCL і стосується всієї бібліотеки класів, яка постачається разом з .NET Framework. Він включає розширений набір бібліотек, включаючи форми Windows Forms, ADO.NET, ASP.NET, мовний інтегрований запит, фонд презентацій Windows, фонд комунікацій Windows серед інших.

Тому існують відмінності, і ви не повинні користуватися ними взаємозамінно.


12

BCL є підмножиною FCL. BCL шанує специфікацію ECMA для загальної мовної інфраструктури. Тоді Microsoft додала всі свої користі, такі як дані та xml, і назвала це бібліотекою Framework Class. В основному, вони взяли BCL і перейшли до 11!


2
Спасибі, що ви маєте на увазі під "піти в 11"?
Джоан Венге

10
Spinal Tap reference
Chris S

1
Я не чув цього. Чи можете ви сказати мені, що це означає, щоб я не залишився осторонь?
Джоан Венге

8
Так у фільмі "This is Spinal Tap", який є сатиричним поглядом на групи важких металів у стилі макет-коментар, гітарист (Найджел Туфнел) демонструє підсилювач, який він спеціально зробив для Марті ДіБергі: Найджел Туфнел: Номери всі йдуть в одинадцять. Подивіться, прямо через борт, одинадцять, одинадцять, одинадцять і ... Марті ДіБергі: О, бачу. І більшість ампер піднімаються до десяти? : Точно. : Це означає, що вона голосніша? Це голосніше? : Ну, це одна голосніша, чи не так?
Іхор

1
@Ichorus, але чому б вони не зробити десять голоснішими?
Саймон Бослі

8

Далі цитується з книги "Посібник гравця C #".

BCL містить всі вбудовані типи, масиви, винятки, математичні бібліотеки, базові введення / виведення файлів, безпека, колекції, відображення, мережа, обробка рядків, нарізка ниток тощо. Хоча це не ідеальне керівництво, загальне правило полягає в тому, що будь-який простір імен, що починається з System, є частиною BCL.

Крім BCL, існує ще багато класів, які Microsoft постачає разом із .NET Framework. Взагалі ці додаткові речі охоплюють широкі функціональні області, такі як доступ до бази даних або графічний інтерфейс користувача (Windows Forms або WPF). Вся ця колекція, включаючи BCL, називається бібліотекою Framework Class, або FCL. У випадковій дискусії іноді люди використовують взаємодію FCL та BCL, що не є строго правильним, але це, можливо, досить добре для більшості речей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.