อะไรคือความแตกต่างระหว่างทั้งสอง? เราสามารถใช้แทนกันได้หรือไม่?
อะไรคือความแตกต่างระหว่างทั้งสอง? เราสามารถใช้แทนกันได้หรือไม่?
คำตอบ:
Base Class Library (BCL) เป็นฐานตามตัวอักษร มันมีพื้นฐานประเภทพื้นฐานชอบและSystem.String
System.DateTime
Framework Class Library (FCL) เป็นไลบรารีที่กว้างขึ้นซึ่งประกอบด้วยผลรวม: ASP.NET, WinForms, กอง XML, ADO.NET และอื่น ๆ คุณสามารถพูดได้ว่า FCL มี BCL
ไลบรารี. NET Framework BCL เป็นมาตรฐานสำหรับไลบรารีรันไทม์ C # และหนึ่งในไลบรารีมาตรฐาน Common Language Infrastructure (CLI) BCL จัดเตรียมประเภทที่แสดงถึงชนิดข้อมูล CLI ในตัวการเข้าถึงไฟล์พื้นฐานคอลเลกชันแอ็ตทริบิวต์แบบกำหนดเองการจัดรูปแบบแอ็ตทริบิวต์ความปลอดภัยสตรีม I / O การจัดการสตริงและอื่น ๆ
ไลบรารีคลาส. NET Framework เป็นสิ่งที่ชื่อแนะนำ: ไลบรารีของคลาสและประเภทอื่น ๆ ที่นักพัฒนาสามารถใช้เพื่อทำให้ชีวิตง่ายขึ้น แม้ว่าคลาสเหล่านี้จะเขียนด้วยตัวเองด้วย C # แต่ก็สามารถใช้ได้จากภาษา CLRbased ใดก็ได้
คุณจะใช้ BCL กับบางส่วนของ FCL กับโครงการแต่ละประเภท ดังนั้น System.Windows.Forms (ไลบรารีแยกต่างหาก) หรือ System.Web พร้อม BCL จาก mscorlib และ System.dll
BCLย่อมาจาก Base class library หรือที่เรียกว่า Class library (CL) BCL เป็นชุดย่อยของไลบรารีคลาส Framework (FCL) ไลบรารีคลาสคือชุดของชนิดที่ใช้ซ้ำได้ซึ่งรวมเข้ากับ CLR อย่างใกล้ชิด ไลบรารีคลาสฐานจัดเตรียมคลาสและประเภทที่เป็นประโยชน์ในการดำเนินการแบบวันต่อวันเช่นการจัดการกับสตริงและประเภทดั้งเดิมการเชื่อมต่อฐานข้อมูลการดำเนินการ IO
ในขณะที่ไลบรารีคลาส Framework มีคลาสหลายพันคลาสที่ใช้ในการสร้างแอ็พพลิเคชันประเภทต่างๆและมีฟังก์ชันพื้นฐานและบริการทั้งหมดที่แอปพลิเคชันต้องการ FCL มีคลาสและบริการเพื่อรองรับแอพพลิเคชั่นที่หลากหลายเช่น
แอปพลิเคชันเดสก์ท็อป
โปรแกรมประยุกต์บนเว็บ (ASP.Net, MVC, WCF),
แอปพลิเคชันมือถือ
แอปพลิเคชัน Xbox
บริการ windows ฯลฯ
รายละเอียดเพิ่มเติมที่BCL / CL ใน. Net คืออะไร?
Base Class Library (BCL) เป็นชุดหลักของคลาสที่ทำหน้าที่เป็น API พื้นฐานของ Common Language Runtime คลาสใน mscorlib.dll และบางคลาสใน System.dll และ System.core.dll ถือเป็นส่วนหนึ่งของ BCL ประกอบด้วยคลาสในเนมสเปซเช่น System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization และ System.Data เป็นต้น
Framework Class Library (FCL) เป็นส่วนเหนือของคลาส BCL และอ้างถึงไลบรารีคลาสทั้งหมดที่มาพร้อมกับ. NET Framework ประกอบด้วยชุดไลบรารีที่ขยายออกไปรวมถึง Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation เป็นต้น
ดังนั้นจึงมีความแตกต่างและคุณต้องไม่ใช้สิ่งเหล่านั้นแทนกัน
BCL เป็นส่วนย่อยของ FCL BCL เป็นไปตามข้อกำหนด ECMA สำหรับโครงสร้างพื้นฐานภาษาทั่วไป จากนั้น Microsoft ได้เพิ่มความดีทั้งหมดของพวกเขาเช่น data และ xml และเรียกมันว่า Framework Class Library โดยทั่วไปพวกเขาใช้ BCL และทำให้มันไปที่ 11!
ต่อไปนี้อ้างจากหนังสือ "The C # Player's Guide"
BCL ประกอบด้วยชนิดในตัวอาร์เรย์ข้อยกเว้นไลบรารีคณิตศาสตร์ I / O ไฟล์พื้นฐานการรักษาความปลอดภัยคอลเลกชันการสะท้อนเครือข่ายการจัดการสตริงเธรดและอื่น ๆ แม้ว่าจะไม่ใช่แนวทางที่สมบูรณ์แบบ แต่กฎทั่วไปก็คือเนมสเปซใด ๆ ที่ขึ้นต้นด้วยระบบเป็นส่วนหนึ่งของ BCL
นอกเหนือจาก BCL แล้วยังมีคลาสอื่น ๆ อีกมากมายที่ Microsoft มาพร้อมกับ. NET Framework โดยทั่วไปสิ่งเพิ่มเติมเหล่านี้ครอบคลุมพื้นที่การทำงานที่กว้างเช่นการเข้าถึงฐานข้อมูลหรือส่วนติดต่อผู้ใช้แบบกราฟิก (Windows Forms หรือ WPF) คอลเล็กชันทั้งหมดนี้รวมถึง BCL เรียกว่า Framework Class Library หรือ FCL ในการสนทนาแบบสบาย ๆ บางครั้งผู้คนใช้ FCL และ BCL สลับกันได้ซึ่งไม่ถูกต้องอย่างเคร่งครัด แต่อาจดีพอสำหรับสิ่งต่างๆ