July 21, 2014

Partial Classes

มีหลายเหตุที่ต้องแยก class (partial class) ได้ตามความซับซ้อนตามที่ต้องการ:
  • เมื่อทำงานกับโปรเจ็คขนาดใหญ่, การแยก class ไว้ในหลายไฟล์เพื่อให้โปรแกรมเมอร์สามารถทำงานกับ class นั้นได้ในเวลาเดียวกัน.
  • เมื่อทำงานกับการสร้าง code โดยโปรแกรม (automatically generated source), code สามารถถูกเพิ่มเข้าไปใน class โดยไม่ต้องสร้าง source file ใหม่. Visual Studio ใช้วิธีการนี้เมื่อใช้สร้าง Windows Forms, Web service wrapper code, and so on. คุณสามารถสร้าง code ที่ใช้งาน class โดยไม่ต้องแก้ไขาไฟล์ที่ถูกสร้างโดย Visual Studio.
  • แยกหนึ่งที่มีความซับซ้อน, ให้ใช้ modifier keyword เป็น partial , ดังเช่นด้านล่าง:
public partial class Employee
{
    public void DoWork()
    {
    }
}

public partial class Employee
{
    public void GoToLunch()
    {
    }
}
partial keyword แสดงให้เห็นว่าส่วนอื่น ๆ ของ class, struct, หรือ interface สามารถสร้างเพิ่มได้ใน namespace. ทุกอยางภายในต้องใช้ partial keyword. ทุกอย่างภายในต้อง available ตอน compile time ในรูปแบบ final type. ทุกส่วนต้องมี accessibility ที่เหมือนกัน, เช่น publicprivate, และอื่น ๆ.
ถ้ามีบางส่วน declared เป็น abstract, นั้นทำให้ทั้งหมดเป็น abstract. ถ้าหลาย ๆ ส่วนกำหนดเป็น sealed, นั้นทำให้ทั้งหมดของ type ที่มีอยู่เป็น sealed. ถ้าทุกส่วนของกำหนดเป็น base type, นั้นทำให้ทั้งหมดของของ type ที่ inherits จาก class ทั้งหมด.

July 9, 2014

มีอะไรใหม่ใน ASP.NET Web API 2.2รู้

 ณ. 30 มิถุนายน 2557

ก่อนอื่นขอออกตัวก่อนว่าไม่ได้เขียน Web API อย่างเป็นกิจลักษณะ แต่ช่วงหลังต้องไปซัพพอร์ทชาวบ้านข้างนอกก็เริ่มความเห็นความสำคัญของ Web API ขึ้นมาทันตาเพราะมันเป็นเหมือนโครงสร้างพื้นฐานที่ทำให้คนอื่นสามารถเขาไปต่อเติมในงานของตนเองได้ตามใจชอบ ที่เป็นกันก็เช่น API ของ Google (maps, plus, docs เป็นต้น), Facebook, Twitter  และเจ้าอื่น ๆ อีกมากมายที่ให้บริการทั้งแบบเปิดสำหรับคนทั่วไป และแบบปิดเฉพาะองค์กร โดยคำว่า API ย่อมาจาก Application Programming Interface ซึ่งเป็นคำกลาง ๆ สำหรับโปรแกรมที่เป็นตัวช่วยให้โปรแกรมอื่นทำงานได้ตามที่ต้องการ แล้วรวมคำว่า Web เป็น Web API ก็เป็น API ที่ทำงานแบบ Web หรือผ่าน HTTP ซึ่งก็มีหลายตัวที่นิยม ก็เป็น Web service (แล้ว Microsoft มาพัฒนาต่อก็เป็น WCF -- Windows Communication Foundation) และ RESTful (แล้ว Microsoft มาพัฒนาต่อเป็น Web API ที่เราจะพูดถึง)


ฟังชั่นใหม่ใน ASP.NET Web API 2.2

OData v4

เราเพิ่มการรองรับ OData v4 protocal ใน release นี้. มีบางฟังชั่นที่เพิ่ม/เปลี่ยน อยู่ตามรายการด้านล่าง: