210 likes | 342 Views
1. พื้นฐาน .NET Framework 4. กรอบงานใหม่ เพื่อการใช้งานที่ง่ายขึ้น และได้งานที่มากขึ้น. เป้าหมายการเรียนรู้. ส่วนประกอบของดอตเน็ตเฟรมเวิร์ค 4.0 พัฒนาการของดอตเน็ตเฟรมเวิร์ค การสร้างแอสแซมบลี กลไกการทำงานของ Common Language Runtime เครื่องมือต่างๆ ของดอตเน็ตเฟรมเวิร์ค
E N D
1. พื้นฐาน .NET Framework 4 กรอบงานใหม่ เพื่อการใช้งานที่ง่ายขึ้น และได้งานที่มากขึ้น C# Programming with Visual C# 2010 Express
เป้าหมายการเรียนรู้ • ส่วนประกอบของดอตเน็ตเฟรมเวิร์ค 4.0 • พัฒนาการของดอตเน็ตเฟรมเวิร์ค • การสร้างแอสแซมบลี • กลไกการทำงานของ Common Language Runtime • เครื่องมือต่างๆ ของดอตเน็ตเฟรมเวิร์ค • การใช้ C# ในดอตเน็ตเฟรมเวิร์ค • แนะนำการดาวน์โหลด Visual C# 2010 Express • รุ่นต่างๆ ของ Visual Studio • สภาพแวดล้อมที่ดีกว่าเดิมใน Visual C# 2010 Express C# Programming with Visual C# 2010 Express
Write Any (Language) Run One (OS) • แนวคิดการใช้เฟรมเวิร์คเดียว ที่เขียนด้วยภาษาอะไรก็ได้ที่สนับสนุน .NET • ในขณะปัจจุบัน .NET เป็นเฟรมเวิร์คที่ทำงานบน ระบบปฏิบัติการวินโดว์ นี้จึงหมายถึงเขียนด้วยภาษาอะไร แต่ทำงานบนระบบปฏิบัติการวินโดว์เป็นหลัก • ภาษาปัจจุบัน ที่สนับสนุน .NET มีหลายตัวเช่น C#, VB, C++, Pascal รวมทั้งใช้ สภาพแวดล้อมเดียวกับ Visual Studio เดียวกันด้วย • แอปพลิเคชั่นระบบหลายตัวที่ทำงาน โดยใช้ .NET อย่างเช่น Microsoft SQL Server, Microsoft BizTalk Server, Microsoft Exchange Server, Microsoft SharePoint Server, ฯลฯ C# Programming with Visual C# 2010 Express
.NET Framework 4.0 Development Framework User Interface Services Data Access ASP.NET WPF WinForms Data Service WCF WF ADO.NET EF LINQ Class Library Common Language Runtime (CLR) โครงสร้าง .NET Framework 4.0 C# Programming with Visual C# 2010 Express
พัฒนาการของ .NET Framework • NET 1.0 มาพร้อมกับ Visual Studio .NET 2002 และ VS .NET 2003 ได้ปรับปรุงเป็น .NET 1.1เริ่มต้นแห่งการใช้ ADO.NET, ASP.NET • NET 2.0 มาพร้อมกับ Visual Studio .NET 2005ปรับปรุง ADO.NET, ASP.NET, เพิ่ม Web Services Enhancement 3.0 (WSE) • NET 3.0 เพิ่ม WCF, WPF, WF • NET 3.5 มาพร้อมกับ Visual Studio .NET 2008 เพิ่ม Entity Framework, LINQ, ASP.NET AJAX, MVC • NET 4.0 มาพร้อมกับ Visual Studio .NET 2010สนับสนุนการทำงานแบบ 64 บิท, Cloud Compting C# Programming with Visual C# 2010 Express
การสร้าง แอสแซมบลี • แอสแซมบลี คือไฟล์ที่ผ่านการคอมไพล์ ได้ผลเป็น MSLI ที่ CLR นำไปใช้งานต่อไปได้ เช่น ไฟล์ .exe, .dll • การสร้างจะได้ผลของเลขที่รุ่นที่สร้าง ซึ่งจำเป็นสำหรับดอทเน็ต ที่เรียกใช้งาน แอสแซมบลีแม้มีชื่อไฟล์ด้วยแต่ต่างรุ่น โดยเฉพาะเมื่ออยู่ใน Global Assembly Cache ซึ่งเป็นเหมือนที่เก็บส่วนกลาง • เลขที่รุ่นของแอสแซมบลี • เลขหลัก (Major version number) • เลขรอง Minor version number) • เลขสร้าง (Build number) • เลขสร้างใหม่ (Revision number) MyApp.dll / MyApp.exe Resource Class A Class B v 1.1.2.2 C# Programming with Visual C# 2010 Express
กลไกการทำงานของ CLR ไฟล์ที่ที่ผ่านการคอมไพล์แล้ว หรือที่เรียกว่า แอสแซมบลี จะถูก CLR(Common Language Runtime) แปลงอีกครังเพื่อใช้งานจริง มีลำดับการทำงานคือ • Class Loader • MSIL • Code Manager • Garbage Collector • Exception Manager C# Programming with Visual C# 2010 Express
Base Class Library Support Thread Support COM Marshaler Thread Support Exception Manager MSIL to Native Compilers Code Manager Garbage Collector Class Loader ส่วนประกอบของ CLR C# Programming with Visual C# 2010 Express
เครื่องมือของ .NET Framework C# Programming with Visual C# 2010 Express
ข้อดีของการใช้ .NET Framework • รองรับมาตรฐานทางเว็บ เช่น XHTML, XML, SOAP, XSLT, AJAX, MVC • ลดการเรียนรู้การใช้งาน เมื่อเปลี่ยนไปภาษาอื่นๆ เช่นภาษา C#, VB, C++ • ง่านต่อการพัฒนาระบบ ภายใต้โครงสร้างดอทเน็ต ที่อ้างอิงเป็นระบบเดียวกันหมด • ใช้เครื่องมือที่ IDE ที่มีสภาพแวดล้อมเดียวกันหมด ที่มีอยู่ใน VS Studio • มีการจัดการการจองหน่วยความจำ ที่เป็นอัตโนมัติ โดยการแทนที่พื้นที่ไม่ได้ถูกใช้งาน C# Programming with Visual C# 2010 Express
โดว์โหลด Visual C# 2010 Express • C# สามารถเลือกโหลดได้ ทั่งในรุ่น VS Studio 2010 Express หรือ เลือกเฉพาะ Visual C# 2010 Express http://www.microsoft.com/express/download C# Programming with Visual C# 2010 Express
อินเทลลิเซน (Intellisence) • อินเทลลิเซนส์ เป็น คุณสมบัติที่ช่วยนักเขียนโปรแกรม ช่วยค้นหาคำที่ใกล้เคียงกับที่ต้องการ จากคำบางส่วนที่เราพิมพ์ เช่น เราอยากจะพิมพ์คำว่า String เราพิมพ์เพียงแค่ St C# Programming with Visual C# 2010 Express
การเลือกทั้งแถบ • คุณสมบัติใหม่นี้ เหมาะสำหรับการเลือกทั้งแถบ หรือทั้งคอลัมน์ และแก้ใขให้เหมือนกันทั้งแถบ ทำได้ง่ายคือ กด Shift + Alt พร้อมกับลากเม้าท์ C# Programming with Visual C# 2010 Express
โค้ดลัด (Code Snippet) • พอ เมื่อในบางครั้ง มีชุดของโครงร่างของโค้ดอยู่แล้ว เราไม่จำเป็นต้องพิมพ์ทั้งหมด เราพิมพ์โค้ดลัดบางส่วนพอ เช่นพิมพ์พร็อบเพอร์ตี้ ก็ใช้เพียงพิมพ์ prop หรือ ต้องการสร้างคอนสตรักเตอร์ หรือฟังชั่นสร้างอ๊อปเจ็คของตนเอง เราทำเพียงพิมพ์คำว่า ctor แล้วกดแป้นพิมพ์เครื่องหมาย Tab 2 ครั้งติดกัน C# Programming with Visual C# 2010 Express
สร้างโค้ดอัตโนมัติ • การสร้างโค้ดอัตโมมัติ ที่ยังไม่ได้นิยามมาก่อน การสร้างโค้ดอัตโนมัตินี้ ใช้ได้กับ คลาส อีนัม สตรัก อินเทอร์เฟส ยกตัวอย่างเช่น ต้องการสร้างอ๊อปเจ็ค c1 จากคลาส Customer แต่คลาสนี้ยังไม่ได้นิยามมาก่อน เรานิยามตามหลังได้ โดยการสร้างโค้ดอัตโนมัติ ทำได้โดยการเม้าท์ไปยัง อักษรแรกของชื่อคลาส ดังรูปต่อไปนี้ แล้วเลือกสร้างโค้ด C# Programming with Visual C# 2010 Express
ไฮไลต์ที่เหมือนกัน • ในการพิมพ์โค้ดบางครั้งต้องการหา ฟังก์ชั่น หรืออะไรที่เหมือนกัน แต่หาเจอยากกว่าจะอ่านทีละบรรทัด เราสามารถหาฟังก์ชั่นนั้นที่ใดก็ได้ที่หนึ่ง ทำโดยการคลิกชื่อนั้น เช่น ต้องการหาฟังก์ชั่น (ต่อไปจะเรียกเมทธอด) TelMeMore ให้คลิกที่ชื่อนี้ และกดแป้นคีย์ Ctrl + Shift เราจะพบไฮไลท์ C# Programming with Visual C# 2010 Express
ขยายโค้ด • การเขียนโค้ดบางครั้งต้องการเห็นโค้ดโดยรวมทั้งหมด แต่บางครั้งต้องการเพ่งเฉพาะจุดที่สนใจ มีคีย์ลัดที่อำนวยความสะดวกในความต้องการเหล่านี้ ทำได้โดยการกดแป้นพิมพ์ Ctrl + เลื่อนสกอร์เม้าท์ขึ้นลง เลื่อนขึ้นหมายถึงขยายจอ เลื่อนลงหมายถึงย่อหน้าจอ C# Programming with Visual C# 2010 Express
ทำถามทบทวน • เป้าหมายหลักในของ .NET Framework4 • ส่วนประกอบหลักของ .NET Framework 4 • ให้หาคำสั่งของ C# กับ ภาษา JAVA เพื่อเปรียบเทียบส่วนที่คล้ายกัน • ทำไม โปรแกรมที่ได้สร้างแล้ว เราควรเลือกที่ทำเป็น แอสแซมบลี มากกว่าที่จะให้เป็น ซอสโค้ด เพื่อการแจกจ่าย • หากเราต้องการให้ใช้สองโปรแกรมทำงานใช้แอสแซมบลีเดียวกัน ร่วมกัน ทั้งสองโปรแกรมทำงานบนคอมพิวเตอร์เดียวกัน จะมีวิธีการอะไรที่เหมาะสม และใช้เครื่องอะไร • มีข้อดีอะไรบ้างที่เราเลือกพัฒนาโปรแกรมบนเทคโนโลยีดอนเน็ต • ผลิตภัฑณ์ต่างๆ ในรุ่น Express มีอะไรบ้าง • การขยาดหน้าจอใช้โค้ดลัดอะไร • เมื่อทำการทำไฮไลท์ ตัวแปรอ้างอิงได้แล้ว จะต้องการเลื่อนไปยังตัวแปรอ้างอิงเดียวกัน ที่ตำแหน่งอื่นต้องทำอย่างไร C# Programming with Visual C# 2010 Express
ปฏิบัติการที่ 1 สร้างโปรแกรมอย่างง่าย การสร้าง Console Application แสดงข้อความ “Hello World.” • เปิดโปรแกรม Visual C# Express จากเมนูเลือกสร้าง <File><New Project> • ภายใน Installed Templates เลือก Console Application ใช้ชื่อตามค่าปริยาย “ConsoleApplication1” คลิก <OK> • ภายในเมทธอด Main พิมพ์ คำสั่งให้แสดงผลที่หน้าจอว่า “HelloWorld.” class Program { static void Main(string[] args) { Console.WriteLine("Hello World."); Console.ReadLine(); } } • จากเมนู คลิก <Debug><Start Debugging> หรือ กด F5 • จากเมนู คลิก <File><Save all> เพื่อบันทึกในที่ต้องการ C# Programming with Visual C# 2010 Express
ปฏิบัติการที่ 2 อ่านข้อมูลในรูปแบบ MSIL การใช้งานเครื่องมือ MSIL Disassembler (ildasm.exe) • เปิดไฟล์ Ildasm.exe จากไดเร็คทอรี่ C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin (หรือใช้การค้นหา โดยการคลิกคำสั่ง Search จากหน้าต่าง Windows Explorer) • ดับเบิ้ลคลิก ไฟล์ ildasm.exe • จากโปรแกรม ildasm.exe คลิกเลือก <File><Open> เปิดไฟล์ที่คอมไฟล์จากข้อ 1 ซึ่งได้บันทึกไว้แล้ว (Save) ไปยังไดเร็กทอรี่ bin/degug/ConsoleApplication1.exe • ดับเบิ้ลคลิก MANIFEST และสังเกตเลขรุ่นของ Metadata, mscorlib และ ConsoleApplication1 • ดับเบิ้ลคลิก เมทธอด Main และสังเกตคำสั่งที่เขียนโดย C# เทียบกับโค้ดของ MSIL C# Programming with Visual C# 2010 Express