.Net คืออะไร? ส่วนใหญ่ประกอบด้วยอะไรบ้าง? บทความนี้จะสรุปปัญหาทั่วไปบางประการเกี่ยวกับ .NET แม้ว่ายังค่อนข้างเร็วและแพลตฟอร์ม .NET มีการพัฒนาอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา แต่แนวคิดที่นำมาใช้ในบทความนี้โดยพื้นฐานแล้วยังคงไม่เปลี่ยนแปลง
บทความนี้จะสรุปคำถามและคำตอบทั่วไปเกี่ยวกับ .NET คำถามที่ถามบ่อยเกี่ยวกับ .NET เหล่านี้จะเป็นประโยชน์สำหรับผู้อ่านที่ต้องการทำความเข้าใจแนวคิดโดยรวมของ .NET
1. .Net คืออะไร?
.Net เป็นแพลตฟอร์มคอมพิวเตอร์และการสื่อสารรุ่นใหม่ที่สร้างขึ้นเพื่อลดความซับซ้อนของการพัฒนาแอปพลิเคชันในสภาพแวดล้อมที่มีการกระจายอย่างมากของอินเทอร์เน็ตรุ่นที่สาม โดยอิงตามมาตรฐานและโปรโตคอลอินเทอร์เน็ตแบบเปิด และมีการโต้ตอบในระดับสูงกับภาษาและแพลตฟอร์มที่ต่างกัน
.Net ส่วนใหญ่ประกอบด้วย Common Language Runtime และไลบรารีคลาสสถาปัตยกรรม .Net
2. ข้อดีหลักของ Net คืออะไร?
ข้อได้เปรียบหลักของ .Net คือข้ามภาษา ข้ามแพลตฟอร์ม ความปลอดภัย และการรองรับมาตรฐานและโปรโตคอลอินเทอร์เน็ตแบบเปิด
.Net รองรับการทำงานร่วมกันในหลายภาษา กล่าวคือ ส่วนประกอบที่พัฒนาในภาษาหนึ่งสามารถนำซ้ำได้ในส่วนประกอบอื่นผ่านการสืบทอดเชิงวัตถุ ปัจจุบัน .Net รองรับมากกว่า 20 ภาษา
.Net ตระหนักถึงความสามารถในการทำงานร่วมกันของออบเจ็กต์ภายใต้แพลตฟอร์มที่ต่างกันโดยการรวบรวมแต่ละภาษาเป็นภาษากลาง (IL) จากนั้นใช้คอมไพเลอร์แบบทันเวลา (Just In Time) เพื่อคอมไพล์เป็นโค้ดแพลตฟอร์มท้องถิ่นระหว่างการดำเนินการ ในปัจจุบัน .Net รองรับการรองรับแพลตฟอร์มสำหรับ Windows, Linux และ Unix อยู่ระหว่างการพัฒนา
.Net ใช้ออบเจ็กต์ทรัพยากรและความปลอดภัยของประเภทผ่าน Common Language Runtime
.Net จัดเตรียมอินเทอร์เฟซการเขียนโปรแกรมเพื่อรับบริการระยะไกล การเชื่อมต่ออุปกรณ์ระยะไกล และการโต้ตอบกับแอปพลิเคชันระยะไกลในสภาพแวดล้อมเครือข่ายที่ต่างกัน ผ่านการรองรับมาตรฐานอินเทอร์เน็ต เช่น HTTP, XML, SOAP และ WSDL
3. Common Language Runtime ใน .Net หมายความว่าอย่างไร
รันไทม์ภาษาทั่วไป CLR (Common Language Runtime) เป็นรากฐานของเฟรมเวิร์ก .net ทั้งหมด และเป็นกุญแจสำคัญในการทำให้คุณสมบัติหลักของ .Net เป็นจริง เช่น ข้ามแพลตฟอร์ม ข้ามภาษา และความปลอดภัยของโค้ด จริงๆ แล้วมันคือโค้ดเอเจนต์ส่วนหนึ่งที่อยู่ในหน่วยความจำและรับผิดชอบการจัดการโค้ดระหว่างการดำเนินการทั้งหมดของ .net ตัวอย่างทั่วไป ได้แก่ การจัดการหน่วยความจำ การจัดการเธรด การจัดการระยะไกล ประเภทการรักษาความปลอดภัยที่บังคับใช้โค้ด เป็นต้น สิ่งเหล่านี้เรียกได้ว่าเป็นเส้นชีวิตของ .net framework อันที่จริงแล้ว รันไทม์ภาษาธรรมดาจะมอบหมายส่วนหนึ่งของฟังก์ชันการจัดการของระบบปฏิบัติการ
4. ไลบรารีคลาสสถาปัตยกรรม Net คืออะไร?
ไลบรารีคลาสสถาปัตยกรรม .Netl สร้างขึ้นตามคุณลักษณะเชิงวัตถุของรันไทม์และเป็นคอลเลกชันของคลาสที่นำมาใช้ซ้ำได้ซึ่งบูรณาการอย่างแน่นหนากับรันไทม์ภาษาธรรมดา ช่วยให้การพัฒนาซอฟต์แวร์ง่ายขึ้นอย่างมาก และง่ายต่อการรวมเข้ากับส่วนประกอบของบริษัทอื่นได้อย่างราบรื่น
ไลบรารีคลาสสถาปัตยกรรม .Net ส่วนใหญ่มีการรองรับโมเดลการเขียนโปรแกรมต่อไปนี้:
1. แอปพลิเคชันคอนโซล
2. สคริปต์และแอปพลิเคชันโฮสต์
3. แอปพลิเคชัน Windows Forms (แอปพลิเคชัน Windows desktop GUI)
4. แอปพลิเคชัน ASP.Net
5. แอปพลิเคชันบริการเว็บ
6. เซอร์วิสโปรแกรมวินโดวส์
5. ภาษาสำหรับการพัฒนาที่ .Net รองรับคืออะไร?
.Net อ้างว่ารองรับมากกว่า 20 ภาษาในตลาด แต่ปัจจุบันมีเพียง C#, Visual Basic.Net, Managed C++ และ Jsript เท่านั้นที่ได้รับการเผยแพร่อย่างเป็นทางการโดย Microsoft ผู้ผลิตรายอื่นอ้างว่าเครื่องมือสนับสนุนที่อยู่ระหว่างการพัฒนา ได้แก่ COBOL, Eiffel, Perl , สมอลทอล์ค และไพธอน
การทำงานร่วมกันของภาษา .Net หมายถึงการรองรับการสืบทอดอ็อบเจ็กต์ในภาษาที่เป็นไปตามข้อกำหนด Common Language Runtime กล่าวคือ คลาสที่พัฒนาภายใต้แพลตฟอร์ม .Net ในภาษาหนึ่งสามารถนำกลับมาใช้ใหม่ในภาษาอื่นได้ สิ่งที่เรียกว่า Microsoft Intermediate Language MIL นั่นคือคอมไพเลอร์ภาษาจะคอมไพล์ภาษาเป็นภาษา Microsoft Intermediate Language ก่อน จากนั้นจึงคอมไพล์โค้ดเนทิฟภายใต้แพลตฟอร์มที่เกี่ยวข้อง ทั้งหมดนี้ดำเนินการภายใต้ข้อกำหนดเฉพาะของรันไทม์ภาษาทั่วไป
6. Net รองรับแพลตฟอร์มใดบ้าง?
แพลตฟอร์มที่รองรับ .Net ในปัจจุบัน ได้แก่ Windows 2000, NT4 SP6a, Windows Me และ Windows 98 แพลตฟอร์มที่อ้างว่ารองรับ ได้แก่ Unix, Linux ฯลฯ ขณะนี้มีสามโครงการที่พัฒนาแพลตฟอร์ม .Net ภายใต้ Linux: โครงการ Mono ของ Ximian, DotGNU และ Potable .NET
7. ความสัมพันธ์ระหว่าง .Net และ COM คืออะไร .Net หมายถึงจุดสิ้นสุดของ COM หรือไม่
COM กำหนดมาตรฐานไบนารีสำหรับการสื่อสารระหว่างออบเจ็กต์คอมโพเนนต์ .Net มีกลไกที่คล้ายกันผ่านระบบประเภทในตัวของคอมโพเนนต์ ซึ่งมีวิธีการอื่นสำหรับสิ่งนี้ .Net ไม่ได้หมายถึงจุดสิ้นสุดของ COM แต่จะลดการพึ่งพา COM ของนักพัฒนาได้อย่างมาก .Net รองรับการทำงานร่วมกันระหว่างส่วนประกอบ COM และ .Net ที่จริงแล้ว คุณสามารถรับส่วนประกอบ COM ใน .Net ผ่าน Runtime Callable Wrapper (RCW) และรับ .Net ใน COM ผ่านส่วนประกอบ COM Callable Wrapper (CCW)
8. Intermediate Language (IL) ใน .Net คืออะไร มีบทบาทอย่างไรในแพลตฟอร์ม .Net ?
ภาษากลางใน .Net หมายถึงชุดคำสั่งที่สามารถแปลงเป็นโค้ดท้องถิ่นผ่านคอมไพเลอร์แบบทันเวลา (Just In Time) ภายใต้ข้อกำหนดรันไทม์ภาษาธรรมดา และไม่ขึ้นอยู่กับ CPU เป็นลิงก์หลักในการตระหนักถึงความสามารถในการทำงานร่วมกันของภาษาในแพลตฟอร์ม .Net ภาษาของแพลตฟอร์ม .Net ทั้งหมดจะต้องได้รับการรวบรวมเป็นภาษากลาง (IL) ก่อน โปรแกรมเมอร์ยังสามารถใช้ภาษากลาง (IL) ในการเขียนโปรแกรมได้โดยตรง แต่ไม่แนะนำ ภาษาระดับกลางมีประโยชน์มากสำหรับการทำความเข้าใจพฤติกรรมบางอย่างของออบเจ็กต์ .Net และโปรแกรมดีบั๊ก
9. การรวบรวมขยะอัตโนมัติใน .Net คืออะไร ทำให้เกิดการเปลี่ยนแปลงอะไรบ้างในการเขียนโปรแกรมภายใต้แพลตฟอร์ม .Net
ตัวรวบรวมขยะ .Net มีหน้าที่รับผิดชอบในการจัดสรรหน่วยความจำและปล่อยงานสำหรับโค้ดที่ได้รับการจัดการรันไทม์ของ .Net ทั้งหมด โดยจะเลือกวัตถุและเวลาในการรวบรวมผ่านอัลกอริธึมการปรับให้เหมาะสมบางอย่าง โปรแกรมเมอร์สามารถดำเนินการรวบรวมขยะแบบบังคับทันทีเมื่อปล่อยทรัพยากรที่มีการจัดการจำนวนมากเท่านั้น ให้ใช้การดำเนินการขั้นสุดท้ายเพื่อประมวลผลทรัพยากรเหล่านั้นที่จำเป็นต้องปล่อยออกมาในขณะที่โปรแกรมกำลังทำงานอยู่ควรใช้เมธอด Dispose() มันชัดเจน โทร. ในบางครั้ง การรีไซเคิลทรัพยากรจะถูกปล่อยให้เป็นการรวบรวมขยะของ .Net
10. รหัสที่ได้รับการจัดการของ Net และรหัสที่ไม่มีการจัดการหมายถึงอะไร?
โค้ดที่ได้รับการจัดการของ .Net หมายถึงโค้ดที่สอดคล้องกับข้อกำหนด Common Language Runtime และอยู่ภายใต้เอเจนต์โค้ดรันไทม์ในหน่วยความจำสำหรับการจัดการหน่วยความจำ การจัดการเธรด การจัดการระยะไกล และประเภทความปลอดภัยที่บังคับใช้โค้ด รหัสที่ไม่มีการจัดการหมายถึงรหัสที่ทำงานบนทรัพยากรที่ไม่มีการจัดการ เช่น หน่วยความจำ ไฟล์ ฐานข้อมูล ฯลฯ โดยปกติแล้วรหัสเหล่านี้จะไม่ได้รับการจัดการโดยเอเจนต์โค้ดรันไทม์และไม่ปลอดภัย เมื่อเขียนโปรแกรมโค้ดที่ได้รับการจัดการ คุณจะต้องมุ่งเน้นไปที่ตรรกะการเขียนโปรแกรม และการจัดการทรัพยากร เช่น หน่วยความจำจะถูกปล่อยให้เป็น Common Language Runtime อย่างไรก็ตาม เมื่อเขียนโปรแกรมโค้ดที่ไม่มีการจัดการ นักพัฒนาจะต้องดูแลแต่ละด้านอย่างระมัดระวัง ทรัพยากรที่ไม่มีการจัดการ
ฉันหวังว่าหลังจากอ่านคำถามที่พบบ่อยเกี่ยวกับ .NET ทั้ง 10 ข้อข้างต้นแล้ว คุณจะเข้าใจแพลตฟอร์ม .NET มากขึ้น
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/thy822/archive/2009/12/23/5061127.aspx
-