BCL (Perpustakaan Kelas Dasar) vs FCL (Perpustakaan Kelas Kerangka)

98

Apa perbedaan keduanya? Bisakah kita menggunakannya secara bergantian?

Joan Venge
sumber

Jawaban:

98

Base Class Library (BCL) secara harfiah adalah itu, basis. Ini berisi tipe dasar, fundamental seperti System.Stringdan System.DateTime.

Framework Class Library (FCL) adalah perpustakaan yang lebih luas yang berisi totalitas: ASP.NET, WinForms, XML stack, ADO.NET, dan lainnya. Bisa dibilang FCL menyertakan BCL.

Andrew Webb
sumber
35
Pada tingkat sederhana, .NET Framework = perpustakaan (FCL, BCL), kompiler bahasa (C #, VB.NET) dan Common Language Runtime (CLR). Selain itu, ada seluruh ekosistem yang mengelilinginya: Visual Studio, Bantuan MSDN, dan banyak lagi.
Andrew Webb
1
@JoanVenge BCL adalah bagian dari FCL; BCL adalah subkomponen FCL, bukan komponen yang terpisah secara bersamaan.
iliketocode
26

BCL :

Pustaka .NET Framework, BCL adalah standar untuk pustaka runtime C # dan salah satu pustaka standar Common Language Infrastructure (CLI). BCL menyediakan tipe yang mewakili tipe data CLI bawaan, akses file dasar, koleksi, atribut khusus, pemformatan, atribut keamanan, aliran I / O, manipulasi string, dan banyak lagi.

FCL :

Pustaka kelas .NET Framework persis seperti namanya: pustaka kelas dan jenis lain yang dapat digunakan pengembang untuk membuat hidup mereka lebih mudah. Sementara kelas-kelas ini sendiri ditulis dalam C #, mereka dapat digunakan dari bahasa berbasis CLR

Anda akan menggunakan BCL dengan beberapa bagian FCL dengan setiap jenis proyek. Jadi System.Windows.Forms (perpustakaan terpisah) atau System.Web, dengan BCL dari mscorlib dan System.dll

Chris S
sumber
4
Di Microsoft, saya yakin tim CLR memiliki BCL, sementara banyak tim memiliki bagian FCL yang berbeda.
rjdevereux
22

BCL adalah singkatan dari Base class library juga dikenal sebagai Class library (CL). BCL adalah bagian dari perpustakaan kelas Framework (FCL). Perpustakaan kelas adalah kumpulan jenis yang dapat digunakan kembali yang terintegrasi erat dengan CLR. Pustaka Kelas Dasar menyediakan kelas dan tipe yang berguna dalam melakukan operasi sehari-hari misalnya berurusan dengan tipe string dan primitif, koneksi database, operasi IO.

sementara perpustakaan kelas Framework berisi ribuan kelas yang digunakan untuk membangun berbagai jenis aplikasi dan menyediakan semua fungsi dan layanan dasar yang dibutuhkan aplikasi. FCL menyertakan kelas dan layanan untuk mendukung berbagai jenis aplikasi, misalnya

  • Aplikasi desktop,

  • Aplikasi web (ASP.Net, MVC, WCF),

  • Aplikasi seluler,

  • Aplikasi Xbox,

  • layanan windows dll.

Lebih detail di Apa itu BCL / CL di .Net?

masukkan deskripsi gambar di sini

Ashish Shukla
sumber
ashish: dapatkah Anda memberikan jawaban yang lebih deskriptif tentang BCL
amitguptageek
4
bagus, Sebuah gambar dapat
bermakna
@amitguptageek Anda dapat memeriksa detail lebih lanjut di modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla
13

Base Class Library (BCL) adalah kumpulan inti kelas yang berfungsi sebagai API dasar dari Common Language Runtime. Kelas-kelas di mscorlib.dll dan beberapa kelas di System.dll dan System.core.dll dianggap sebagai bagian dari BCL. Ini termasuk kelas dalam ruang nama seperti System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization dan System.Data dll.

Framework Class Library (FCL) adalah superset dari kelas BCL dan merujuk ke seluruh perpustakaan kelas yang dikirimkan dengan .NET Framework. Ini mencakup serangkaian pustaka yang diperluas, termasuk Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation, dan lain-lain.

Jadi ada perbedaan dan Anda tidak boleh menggunakannya secara bergantian.

Praveen Prajapati
sumber
12

BCL adalah bagian dari FCL. BCL menghormati spesifikasi ECMA untuk infrastruktur bahasa umum. Kemudian Microsoft menambahkan semua kebaikan mereka seperti data dan xml dan menyebutnya Framework Class Library. Pada dasarnya mereka mengambil BCL dan membuatnya menjadi 11!

Joshua Belden
sumber
2
Terima kasih, apa yang Anda maksud dengan "pergi ke 11"?
Joan Venge
10
Referensi Spinal Tap
Chris S
1
Belum pernah dengar yang itu. Bisakah Anda memberi tahu saya apa artinya agar saya tidak tersisih?
Joan Venge
8
Maka di film 'This is Spinal Tap' yang merupakan tampilan satir band-band heavy metal dengan gaya mock-umentary, sang gitaris (Nigel Tufnel) memamerkan amp yang khusus dibuatnya untuk Marty DiBergi: Nigel Tufnel: The numbers semua menjadi sebelas. Lihat, tepat di seberang papan, sebelas, sebelas, sebelas dan ... Marty DiBergi: Oh, begitu. Dan kebanyakan ampli naik sampai sepuluh? : Tepat. : Apakah itu berarti lebih keras? Apakah lebih keras? : Nah, itu lebih keras, bukan?
Ichorus
1
@Ichorus tapi mengapa mereka tidak membuat sepuluh lebih keras?
Simon Bosley
8

Berikut ini dikutip dari buku "The C # Player's Guide".

BCL berisi semua tipe bawaan, larik, pengecualian, pustaka matematika, I / O File dasar, keamanan, koleksi, refleksi, jaringan, manipulasi string, penguliran, dan banyak lagi. Meskipun bukan panduan yang sempurna, aturan umumnya adalah bahwa namespace yang dimulai dengan Sistem adalah bagian dari BCL.

Di luar BCL, ada lebih banyak kelas yang dikirimkan Microsoft dengan .NET Framework. Secara umum, hal tambahan ini mencakup area fungsional yang luas, seperti akses database atau antarmuka pengguna grafis (Windows Forms atau WPF). Seluruh koleksi ini, termasuk BCL, disebut Framework Class Library, atau FCL. Dalam diskusi biasa, terkadang orang menggunakan FCL dan BCL secara bergantian, yang tidak sepenuhnya benar, tetapi mungkin cukup baik untuk banyak hal.

pengguna1899020
sumber