Sự khác biệt giữa hai là gì? Chúng ta có thể sử dụng chúng thay thế cho nhau không?
Sự khác biệt giữa hai là gì? Chúng ta có thể sử dụng chúng thay thế cho nhau không?
Câu trả lời:
Thư viện Lớp Cơ sở (BCL) theo nghĩa đen là cơ sở. Nó chứa các kiểu cơ bản, cơ bản như System.String
và System.DateTime
.
Thư viện lớp khung (FCL) là thư viện rộng hơn chứa toàn bộ: ASP.NET, WinForms, ngăn xếp XML, ADO.NET và hơn thế nữa. Bạn có thể nói rằng FCL bao gồm BCL.
Thư viện .NET Framework, BCL là tiêu chuẩn cho thư viện thời gian chạy C # và một trong những thư viện tiêu chuẩn Cơ sở hạ tầng ngôn ngữ chung (CLI). BCL cung cấp các kiểu đại diện cho kiểu dữ liệu CLI được tích hợp sẵn, quyền truy cập tệp cơ bản, bộ sưu tập, thuộc tính tùy chỉnh, định dạng, thuộc tính bảo mật, luồng I / O, thao tác chuỗi và hơn thế nữa.
Thư viện lớp .NET Framework đúng như tên gọi của nó: một thư viện các lớp và các loại khác mà các nhà phát triển có thể sử dụng để làm cho cuộc sống của họ dễ dàng hơn. Mặc dù bản thân các lớp này được viết bằng C #, chúng có thể được sử dụng từ bất kỳ ngôn ngữ dựa trên CLRbased
Bạn sẽ sử dụng BCL với một số phần của FCL với từng loại dự án. Vì vậy, System.Windows.Forms (một thư viện riêng biệt) hoặc System.Web, với BCL từ mscorlib và System.dll
BCL là viết tắt của thư viện lớp Cơ sở còn được gọi là thư viện lớp (CL). BCL là một tập con của thư viện lớp Framework (FCL). Thư viện lớp là tập hợp các kiểu có thể tái sử dụng được tích hợp chặt chẽ với CLR. Thư viện Base Class cung cấp các lớp và kiểu hữu ích trong việc thực hiện hoạt động hàng ngày, ví dụ như xử lý các kiểu chuỗi và kiểu nguyên thủy, kết nối cơ sở dữ liệu, hoạt động IO.
trong khi thư viện lớp Framework chứa hàng nghìn lớp được sử dụng để xây dựng các loại ứng dụng khác nhau và cung cấp tất cả các chức năng và dịch vụ cơ bản mà ứng dụng cần. FCL bao gồm các lớp và dịch vụ để hỗ trợ nhiều loại ứng dụng khác nhau, ví dụ:
Ứng dụng máy tính để bàn,
Ứng dụng web (ASP.Net, MVC, WCF),
Ứng dụng di động,
Ứng dụng Xbox,
dịch vụ windows, v.v.
Thông tin chi tiết tại BCL / CL trong .Net là gì?
Thư viện lớp cơ sở (BCL) là tập hợp các lớp cốt lõi đóng vai trò là API cơ bản của Thời gian chạy ngôn ngữ chung. Các lớp trong mscorlib.dll và một số lớp trong System.dll và System.core.dll được coi là một phần của BCL. Nó bao gồm các lớp trong không gian tên như System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization và System.Data, v.v.
Thư viện lớp khung (FCL) là một tập hợp lớn của các lớp BCL và đề cập đến toàn bộ thư viện lớp đi kèm với .NET Framework. Nó bao gồm một bộ thư viện mở rộng, bao gồm Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation và những thứ khác.
Vì vậy, có sự khác biệt và bạn không được sử dụng thay thế cho nhau.
BCL là một tập con của FCL. BCL tôn vinh đặc tả ECMA cho cơ sở hạ tầng ngôn ngữ chung. Sau đó, Microsoft đã thêm tất cả những gì tốt đẹp của họ như dữ liệu và xml và gọi nó là Thư viện lớp khung. Về cơ bản, họ đã lấy BCL và đưa nó lên 11!
Phần sau được trích dẫn từ cuốn sách "Hướng dẫn chơi C #".
BCL chứa tất cả các kiểu tích hợp, mảng, ngoại lệ, thư viện toán học, I / O tệp cơ bản, bảo mật, tập hợp, phản chiếu, mạng, thao tác chuỗi, phân luồng, v.v. Mặc dù không phải là một hướng dẫn hoàn hảo, nhưng một quy tắc chung là bất kỳ không gian tên nào bắt đầu bằng Hệ thống đều là một phần của BCL.
Ngoài BCL, có nhiều lớp khác mà Microsoft cung cấp với .NET Framework. Nói chung, những thứ bổ sung này bao gồm các lĩnh vực chức năng rộng, chẳng hạn như truy cập cơ sở dữ liệu hoặc giao diện người dùng đồ họa (Windows Forms hoặc WPF). Toàn bộ bộ sưu tập này, bao gồm cả BCL, được gọi là Thư viện Lớp Khung, hoặc FCL. Trong cuộc thảo luận thông thường, đôi khi mọi người sử dụng FCL và BCL thay thế cho nhau, điều này không hoàn toàn chính xác, nhưng có lẽ nó đủ tốt cho hầu hết mọi thứ.