.NET Framework คืออะไร? อธิบาย Archiเทคเจอร์และส่วนประกอบ

⚡ สรุปอย่างชาญฉลาด

.NET Framework คือ Microsoft แพลตฟอร์มสำหรับการสร้างและดำเนินงาน Windows แอปพลิเคชันเดสก์ท็อป เว็บ และบริการ โดยรวมเอา Common Language Runtime, ไลบรารีคลาสที่ใช้ร่วมกัน และภาษาต่างๆ เช่น C# และ VB.NET ไว้ในสภาพแวดล้อมการพัฒนาแบบครบวงจร

  • 🧩 ความหมาย: .NET Framework คือ Windows-ชุดเครื่องมือ ภาษา และไลบรารีครบวงจรสำหรับการพัฒนาแอปพลิเคชันบนเดสก์ท็อปและเว็บ
  • 🏛️ Archiเทคเจอร์: Common Language Runtime ทำหน้าที่ประมวลผลโค้ดแบบ Managed Code ในขณะที่ Class Library จะจัดเตรียมฟังก์ชันการทำงานที่สามารถนำมาใช้ซ้ำได้และพร้อมใช้งาน
  • ⚙️ ส่วนประกอบหลัก: CLR (Class Library) และภาษาที่รองรับจะทำงานร่วมกันเพื่อคอมไพล์และรันแอปพลิเคชัน
  • 🛡️ หลักการออกแบบ: ความสามารถในการทำงานร่วมกัน การพกพา ความปลอดภัย การจัดการหน่วยความจำอัตโนมัติ และการติดตั้งใช้งานที่ง่ายขึ้น คือองค์ประกอบสำคัญที่กำหนดโครงสร้างของเฟรมเวิร์กนี้
  • 🌐 ประเภทแอปพลิเคชัน: WinForms ใช้สร้างแอปพลิเคชันบนเดสก์ท็อป, ASP.Net ใช้ในการสร้างเว็บไซต์ และ ADO.Net ใช้เชื่อมต่อกับฐานข้อมูล
  • 🤖 ความเกี่ยวข้องของ AI: ML.NET และ ONNX Runtime เพิ่มประสิทธิภาพการเรียนรู้ของเครื่อง ในขณะที่ GitHub Copilot ช่วยเร่งความเร็วในการเขียนโค้ด .NET

.NET Framework คืออะไร

.Net Framework คืออะไร?

กรอบ NET เป็นแพลตฟอร์มการพัฒนาซอฟต์แวร์ที่พัฒนาโดย Microsoft สำหรับการสร้างและดำเนินการ Windows การใช้งาน เฟรมเวิร์ก .Net ประกอบด้วยเครื่องมือสำหรับนักพัฒนา ภาษาการเขียนโปรแกรม และไลบรารีสำหรับสร้างแอปพลิเคชันเดสก์ท็อปและเว็บ นอกจากนี้ยังใช้ในการสร้างเว็บไซต์ บริการเว็บ และเกมอีกด้วย

เฟรมเวิร์ก .NET มีจุดประสงค์เพื่อสร้างแอปพลิเคชันที่สามารถทำงานบนระบบคลาวด์ได้ Windows แพลตฟอร์ม. เวอร์ชันแรกของ .Net framework เปิดตัวในปี พ.ศ. 2002 เวอร์ชันนี้เรียกว่า .Net framework 1.0 ที่ Microsoft .NET Framework พัฒนาไปไกลมากนับตั้งแต่นั้นมา และเวอร์ชันล่าสุดคือ .NET Framework 4.8.1

การขอ Microsoft .NET Framework สามารถใช้สร้างได้ทั้งสองอย่าง — ตามแบบฟอร์ม และ บนเว็บ การใช้งาน บริการเว็บ ยังสามารถพัฒนาได้โดยใช้เฟรมเวิร์ก .Net

เฟรมเวิร์กยังรองรับภาษาการเขียนโปรแกรมที่หลากหลาย เช่น Visual Basic และ C# เพื่อให้นักพัฒนาสามารถเลือกและเลือกภาษาเพื่อพัฒนาแอพพลิเคชั่นที่ต้องการได้ ในบทนี้ คุณจะได้เรียนรู้พื้นฐานบางประการของเฟรมเวิร์ก .Net

กรอบ NET Archiเทคเจอร์

กรอบ NET Archiเทคเจอร์ เป็นรูปแบบการเขียนโปรแกรมสำหรับแพลตฟอร์ม .Net ที่ให้สภาพแวดล้อมการดำเนินการและการบูรณาการกับภาษาการเขียนโปรแกรมต่างๆ เพื่อการพัฒนาและการใช้งานต่างๆ ที่ง่ายดาย Windows และแอปพลิเคชันเดสก์ท็อป ประกอบด้วยไลบรารีคลาสและส่วนประกอบที่นำมาใช้ซ้ำได้

โครงสร้างพื้นฐานของเฟรมเวิร์ก .NET แสดงไว้ด้านล่างนี้

กรอบ NET Archiแผนภาพเทคเจอร์

กรอบ NET Archiแผนภาพเทคเจอร์

ส่วนประกอบ.NET

โครงสร้างพื้นฐานของ .NET Framework นั้นประกอบด้วยส่วนประกอบหลักดังต่อไปนี้:

1. รันไทม์ภาษาทั่วไป

การขอ Common Language Runtime (CLR) คือกลไกการประมวลผลในสถาปัตยกรรม .Net ซึ่งโปรแกรม .Net จะทำงานบนกลไกนี้

CLR มีคุณสมบัติหลักดังต่อไปนี้:

การจัดการข้อยกเว้น — ข้อยกเว้น คือ ข้อผิดพลาดที่เกิดขึ้นขณะที่แอปพลิเคชันกำลังทำงาน ตัวอย่างของข้อยกเว้น ได้แก่:

  • หากแอปพลิเคชันพยายามเปิดไฟล์บนเครื่องท้องถิ่น แต่ไม่มีไฟล์อยู่
  • หากแอปพลิเคชันพยายามดึงข้อมูลบางอย่างจากไฟล์ ฐานข้อมูลแต่การเชื่อมต่อกับฐานข้อมูลไม่ถูกต้อง

เก็บขยะ — การเก็บขยะคือกระบวนการกำจัดทรัพยากรที่ไม่ต้องการเมื่อไม่จำเป็นอีกต่อไป ตัวอย่างของการเก็บขยะ ได้แก่:

  • ตัวจัดการไฟล์ที่ไม่จำเป็นอีกต่อไป หากแอปพลิเคชันดำเนินการกับไฟล์เสร็จสิ้นแล้ว ตัวจัดการไฟล์นั้นอาจไม่จำเป็นอีกต่อไป
  • ไม่จำเป็นต้องเชื่อมต่อฐานข้อมูลอีกต่อไป หากแอปพลิเคชันได้ดำเนินการทั้งหมดบนฐานข้อมูลเสร็จสิ้นแล้ว อาจไม่จำเป็นต้องเชื่อมต่อฐานข้อมูลอีกต่อไป

การทำงานกับภาษาโปรแกรมต่างๆ — ดังที่ได้กล่าวไว้ในหัวข้อก่อนหน้านี้ นักพัฒนาสามารถพัฒนาแอปพลิเคชันโดยใช้ภาษาโปรแกรม .Net ได้หลากหลายภาษา

  1. ภาษาที่ใช้ — ระดับแรกคือภาษาโปรแกรมเอง ซึ่งภาษาที่ใช้กันทั่วไปคือ VB.Net และ C#
  2. ผู้รวบรวม — มีคอมไพเลอร์แยกต่างหากสำหรับแต่ละภาษาโปรแกรม ดังนั้นสำหรับภาษา VB.Net ก็จะมีคอมไพเลอร์ VB.Net แยกต่างหาก ในทำนองเดียวกัน สำหรับภาษา C# คุณก็จะมีคอมไพเลอร์อีกตัวหนึ่ง
  3. รันไทม์ภาษาทั่วไป — นี่คือเลเยอร์สุดท้ายใน .Net ซึ่งใช้ในการรันโปรแกรม .Net ที่พัฒนาขึ้นในภาษาใดก็ได้ ภาษาโปรแกรมจากนั้นคอมไพเลอร์จะส่งโปรแกรมไปยังเลเยอร์ CLR เพื่อเรียกใช้งานแอปพลิเคชัน .Net

ส่วนประกอบ.NET

2. ห้องสมุดชั้นเรียน

.NET Framework ประกอบด้วยชุดไลบรารีคลาสมาตรฐาน ไลบรารีคลาสคือชุดของวิธีการและฟังก์ชันที่สามารถใช้เพื่อวัตถุประสงค์หลัก

ตัวอย่างเช่น มีไลบรารีคลาสที่มีเมธอดสำหรับจัดการการทำงานระดับไฟล์ทั้งหมด ดังนั้นจึงมีเมธอดที่สามารถใช้ในการอ่านข้อความจากไฟล์ได้ ในทำนองเดียวกัน ก็มีเมธอดสำหรับเขียนข้อความลงในไฟล์ด้วย

วิธีการส่วนใหญ่จะแบ่งออกเป็น System.* หรือ Microsoft.* เนมสเปซ (เครื่องหมายดอกจัน * หมายถึงการอ้างอิงถึงวิธีการทั้งหมดที่อยู่ในระบบหรือ Microsoft เนมสเปซ)

เนมสเปซ คือการแบ่งแยกเชิงตรรกะของเมธอดต่างๆ โดยจัดกลุ่มคลาสที่เกี่ยวข้องไว้ภายใต้ชื่อเดียวกัน

3 ภาษา

ประเภทของแอปพลิเคชันที่สามารถสร้างได้ในเฟรมเวิร์ก .NET นั้น สามารถแบ่งออกเป็นหมวดหมู่กว้างๆ ดังต่อไปนี้

วินฟอร์ม — ใช้สำหรับการพัฒนาping แอปพลิเคชันแบบฟอร์ม ซึ่งจะทำงานบนเครื่องคอมพิวเตอร์ของผู้ใช้ปลายทาง ตัวอย่างเช่น โปรแกรม Notepad เป็นแอปพลิเคชันแบบไคลเอ็นต์

ASP.Net — ใช้สำหรับการพัฒนาping แอปพลิเคชันบนเว็บ ซึ่งถูกออกแบบมาให้ทำงานได้บนเบราว์เซอร์ใดก็ได้ เช่น Internet Explorer, Chrome หรืออื่นๆ Firefox.

  • แอปพลิเคชันบนเว็บจะถูกประมวลผลบนเซิร์ฟเวอร์ซึ่งติดตั้งบริการข้อมูลทางอินเทอร์เน็ต (IoT) ไว้
  • บริการข้อมูลอินเทอร์เน็ต หรือ IIS คือ Microsoft ส่วนประกอบที่ใช้ในการดำเนินการ Asp.Net แอพลิเคชัน
  • จากนั้นผลลัพธ์ของการดำเนินการจะถูกส่งไปยังเครื่องไคลเอนต์ และผลลัพธ์จะแสดงในเบราว์เซอร์

ADO.Net — เทคโนโลยีนี้ใช้ในการพัฒนาแอปพลิเคชันเพื่อโต้ตอบกับฐานข้อมูล เช่น Oracle or Microsoft SQL เซิร์ฟเวอร์

Microsoft รับรองเสมอว่ากรอบงาน .Net เป็นไปตามข้อกำหนดที่รองรับทั้งหมด Windows ระบบปฏิบัติการ.

หลักการออกแบบ .Net Framework

หลักการออกแบบต่อไปนี้คือสิ่งที่ทำให้เฟรมเวิร์ก .NET มีความสำคัญอย่างยิ่งสำหรับการสร้างแอปพลิเคชันที่ใช้ .NET

1) การทำงานร่วมกัน — เฟรมเวิร์ก .NET ให้การสนับสนุนเวอร์ชันเก่าเป็นอย่างดี สมมติว่าคุณมีแอปพลิเคชันที่สร้างขึ้นบนเฟรมเวิร์ก .NET .Net framework เวอร์ชันเก่าสมมติว่าเป็นเวอร์ชัน 2.0 การเรียกใช้แอปพลิเคชันเดียวกันบนเครื่องที่มีเวอร์ชันสูงกว่า เช่น 3.5 ก็ยังคงใช้งานได้ เนื่องจากในแต่ละเวอร์ชันที่ออกใหม่... Microsoft ตรวจสอบให้แน่ใจว่าเวอร์ชันเฟรมเวิร์กรุ่นเก่าเข้ากันได้ดีกับเวอร์ชันล่าสุด

2) การพกพา — แอปพลิเคชันที่สร้างขึ้นบนเฟรมเวิร์ก .NET สามารถใช้งานได้บนทุกระบบ Windows แพลตฟอร์ม. และบัดนี้ในครั้งล่าสุด Microsoft นอกจากนี้ยังกำลังวางแผนที่จะสร้าง Microsoft ผลิตภัณฑ์ทำงานบนแพลตฟอร์มอื่น เช่น iOS และ ลินุกซ์.

3) ความปลอดภัย — .NET Framework มีกลไกการรักษาความปลอดภัยที่ดี กลไกการรักษาความปลอดภัยในตัวช่วยทั้งในการตรวจสอบความถูกต้องและการยืนยันแอปพลิเคชัน แอปพลิเคชันแต่ละตัวสามารถกำหนดกลไกการรักษาความปลอดภัยของตนเองได้อย่างชัดเจน กลไกการรักษาความปลอดภัยแต่ละอย่างใช้เพื่ออนุญาตให้ผู้ใช้เข้าถึงโค้ดหรือโปรแกรมที่กำลังทำงานอยู่

4) การจัดการหน่วยความจำ — Common Language Runtime (CLR) ทำหน้าที่ทั้งหมดของ การจัดการหน่วยความจำ.NET Framework มีความสามารถในการตรวจสอบทรัพยากรที่ไม่ถูกใช้งานโดยโปรแกรมที่กำลังทำงานอยู่ จากนั้นก็จะปล่อยทรัพยากรเหล่านั้นตามความเหมาะสม โดยทำผ่านโปรแกรมที่เรียกว่า "ตัวเก็บขยะ" (Garbage Collector) ซึ่งทำงานเป็นส่วนหนึ่งของ .NET Framework ตัวเก็บขยะจะทำงานเป็นระยะๆ และตรวจสอบว่าทรัพยากรระบบใดบ้างที่ไม่ได้ใช้งาน แล้วจึงปล่อยทรัพยากรเหล่านั้นตามความเหมาะสม

5) การปรับใช้ที่ง่ายขึ้น — เฟรมเวิร์ก .NET ยังมีเครื่องมือสำหรับบรรจุแอปพลิเคชันที่สร้างขึ้นบนเฟรมเวิร์กนี้ จากนั้นสามารถแจกจ่ายแพ็กเกจเหล่านี้ไปยังเครื่องไคลเอ็นต์ ซึ่งจะทำการติดตั้งแอปพลิเคชันโดยอัตโนมัติ

คำถามที่พบบ่อย

.NET Framework ทำงานได้เฉพาะบน Windows และขณะนี้อยู่ในโหมดบำรุงรักษาที่เวอร์ชัน 4.8.1 .NET สมัยใหม่ ซึ่งเดิมคือ .NET Core เป็นแพลตฟอร์มข้ามระบบ โอเพนซอร์ส และได้รับการพัฒนาอย่างต่อเนื่อง ทำให้เป็นตัวเลือกที่แนะนำสำหรับโครงการใหม่ๆ

Common Language Runtime (CLR) คือกลไกที่ใช้ในการประมวลผลโค้ดแบบ Managed Code โดยจัดการหน่วยความจำและข้อยกเว้น ส่วน Common Language Specification (CLS) คือชุดของกฎที่ทุกภาษาใน .NET ปฏิบัติตาม เพื่อให้ส่วนประกอบที่เขียนด้วยภาษาต่าง ๆ สามารถทำงานร่วมกันได้อย่างปลอดภัย

.NET Framework รองรับภาษาโปรแกรมหลายภาษาที่คอมไพล์เป็นภาษาตัวกลางทั่วไป ภาษาที่ใช้กันอย่างแพร่หลายที่สุด ได้แก่ C# และ VB.NET โดยใช้ F# สำหรับการเขียนโปรแกรมเชิงฟังก์ชัน ทั้งหมดนี้ใช้รันไทม์ ไลบรารีคลาส และเครื่องมือเดียวกัน

ไม่ .NET Framework คือ Windows-เท่านั้น เพื่อกำหนดเป้าหมายไปที่ Linux หรือ macOS คุณใช้ .NET รุ่นใหม่ ซึ่งเดิมคือ .NET Core ซึ่งรองรับหลายแพลตฟอร์ม โครงการ Mono รุ่นเก่าก็เคยรันโค้ด .NET Framework บนระบบปฏิบัติการอื่นๆ ด้วยเช่นกัน

ใช่แล้ว .NET Framework สามารถดาวน์โหลดและใช้งานได้ฟรี และถูกรวมมาในระบบปฏิบัติการอยู่แล้ว Windowsเครื่องมือพัฒนาซอฟต์แวร์ เช่น Visual Studio Community และ Visual Studio Code นอกจากนี้ยังเปิดให้ใช้งานได้ฟรีสำหรับบุคคลทั่วไป ทีมขนาดเล็ก และโครงการโอเพนซอร์ส

ใช่ เวอร์ชัน 4.8.1 ยังคงได้รับการสนับสนุนอยู่ Windows ส่วนประกอบดังกล่าวได้รับการแก้ไขด้านความปลอดภัยและความน่าเชื่อถือ อย่างไรก็ตาม Microsoft มุ่งเน้นการเพิ่มฟีเจอร์ใหม่ๆ บนแพลตฟอร์ม .NET สมัยใหม่ ดังนั้นการพัฒนาส่วนใหญ่จึงมุ่งเป้าไปที่แพลตฟอร์มนั้นแทนที่จะเป็น Framework

ใช่แล้ว ML.NET ช่วยให้คุณฝึกฝนและเรียกใช้โมเดลแมชชีนเลิร์นนิงได้โดยตรงใน C# และ ONNX Runtime จะเรียกใช้โมเดลดีพเลิร์นนิงที่ได้รับการฝึกฝนล่วงหน้า นอกจากนี้ คุณยังสามารถเรียกใช้บริการ AI บนคลาวด์ได้ ดังนั้นแอปพลิเคชัน .NET จึงสามารถเพิ่มคุณสมบัติอัจฉริยะได้โดยไม่ต้องออกจากระบบนิเวศ

ใช่แล้ว GitHub Copilot แนะนำให้ใช้งานโค้ด C# และ VB.NET ภายใน Visual Studio และ VS Codeสร้างคลาส โครงสร้างเมธอด และโค้ดพื้นฐานจากความคิดเห็น ให้ถือว่าผลลัพธ์เป็นร่างแรกและตรวจสอบอีกครั้ง เนื่องจากโค้ดที่สร้างขึ้นอาจพลาดกรณีพิเศษหรือข้อกำหนดของโครงการได้

สรุปโพสต์นี้ด้วย: