โดยรวมแล้วเขาพูดถึง
- การสร้างที่เก็บคลาสหรือกลุ่มคลาส ภาษาจาวาเรียกว่า Package
- Package ที่ว่านี้คั่นลำดับของแต่ละ Package ด้วยเครื่องหมาย dot ( . ) หรือจุด
- นิยามของ Package คือการระบุว่าธรรมชาติของคลาสหรือกลุ่มคลาสควรอยู่ ณ แห่งหนใด โดยมองจากมุมที่กว้างที่สุดเรื่อยไปกระทั่งมุมมองที่แคบที่สุดที่จะพบคลาสหรือกลุ่มคลาส
ตัวอย่าง นิยาม Package ของเกมแฟนตาซีที่มีเจ้าหญิงอยู่ในปราสาทหลังหนึ่ง อาจกล่าวได้ว่า
ณ สุดขอบจักรวาลอันไพศาล .
ยังมีดวงดาวของเหล่าวีรชน .
บนแผ่นดินของผองอัศวิน .
มั่นคงด้วยปราสาทสีคราม .
ซึ่งหอคอยสูงฝั่งทางทิศตะวันตก .
พบห้องน้อยที่มีแสงเทียนสว่างไสว .
ที่นั่นองค์หญิงเซวีน่ายืนอยู่ลำพัง
คือเล่าเป็นเรื่องเป็นราวได้
คราวนี้มาดูฝั่งภาษาซีชาร์ปบ้าง เราอาจเรียก Package สำหรับภาษาซีชาร์ปว่า Name space
- การสร้างที่เก็บคลาสหรือกลุ่มคลาส ภาษาซีชาร์ปเรียกว่า Name space
- เมื่อสร้าง Name space ใดๆ Name space เหล่านั้นจะห่อหุ้มลำดับของแต่ละ Name space ด้วยเครื่องหมาย { และ } และเข้าไปห่อหุ้มคลาสหรือกลุ่มคลาสอีกทีหนึ่ง
- แต่ละ Name space สามารถเข้าถึงด้วยเครื่องหมาย dot เช่นเดียวกับภาษาจาวา
- นิยามของ Name space คล้ายกับกล่องบรรจุของ คือในกล่องใบใหญ่ยังมีกล่องใบที่เล็กกว่า ในกล่องใบที่เล็กกว่ายังมีกล่องที่เล็กกว่าอีก และที่ว่าเล็กแล้วยังมีใบที่เล็กกว่านั้นอีก จวบกระทั่งพบคลาสหรือกลุ่มคลาสที่ต้องการ
ตัวอย่าง เมื่อเราต้องการเขียนโปรแกรมติดต่อฐานข้อมูล MS Office Access 2007 สิ่งที่เราควรคิดถึงคือ คลาสสำหรับติดต่อฐานข้อมูลดังกล่าวเก็บไว้ในกล่องใบไหน แน่นอนต้องเริ่มจากกล่องใบใหญ่ที่สุดก่อนแล้วไล่เปิดไปเรื่อยๆ ดังนี้
using System.Data.OleDb;
จากนั้นจึงจะใช้คลาส OleDbConnection, OleDbCommand, OleDbDataAdapter และอื่นๆที่เกี่ยวข้องได้
เอาละครับเบื้องต้นนี้ให้สนใจเพียงว่า Package และ Name space นั้นสำคัญมาก หากเรามีคลาสหรือกลุ่มคลาสแค่หยิบมือ (หนึ่งถึงสิบคลาสหรือมากกว่าอีกนิดหน่อย) เราอาจมองไม่เห็นว่าการสร้าง Package ในภาษาจาวาหรือ Name space ในภาษาซีชาร์ปนั้นมีประโยชน์อะไร ? ทว่าคลังของภาษาจาวาและซีชาร์ปในโลกสากลบรรจุคลาสไว้ภายในเป็นหมื่นถึงแสนคลาส แล้วจะจัดการคลาสมากมายปานนี้ได้อย่างไรล่ะ ? เพื่อให้ค้นหาง่าย แก้ไขง่าย ตลอดจนแบ่งจำพวกของมันออก เพราะเราไม่ต้องการโหลดหรือติดตั้งทั้งหมดนั่นลงในเครื่องคอมพิวเตอร์ของเราจริงไหม ? หรือเราต้องการทำแบบนั้นจริงๆ บ้า! เราคงไม่โง่พอจะเก็บทุกสิ่งไว้ในเป้แล้วแบกมันไว้บนหลังตลอดเวลาหรอก เชื่อสิ เราต้องการใช้งานเพียงไม่กี่คลาสเท่านั้นสำหรับงานของเรา รู้อย่างนี้แล้วสิ่งที่เราควรเร่งศึกษาก็คือ จะเลือกใช้คลาสที่มีเป็นกระบุงอย่างไรดี แต่ละคลาสทำอะไรได้บ้าง สร้างออบเจ็กต์ของคลาสอย่างไร เรียกใช้อย่างไรให้ได้ประสิทธิภาพเยี่ยมที่สุด เขียนโค้ดน้อยที่สุดทำนองนี้ เอาละครับไว้ part ต่อไปนะคนดี
ไม่มีความคิดเห็น:
แสดงความคิดเห็น