หน้าเว็บ

วันเสาร์ที่ 9 สิงหาคม พ.ศ. 2557

Framework & Design Pattern ดีอย่างไร

ก่อนที่เราจะมาดูว่ามีเทคโนโลยี อะไรบ้างที่มีการพัฒนาบนพื้นฐานความคิด ของ คำว่า Framework และ Design Pattern
เราต้องทำความเข้าใจถึงที่มา แล้ว ประโยชน์ต่างๆ ทีจะได้รับจากการ พัฒนาโปรแกรม
บนแนวความคิด Framework และ Design Pattern 
และเหนือสิ่งอื่นได Framework & Design Pattern จะเกิดขึ้นมาไม่ได้เลยถ้าไม่มีแนวความคิดของเรื่อง 
OOP (Object Oriented Programming) มาก่อน 
ดังนั้น OOP จึงเป็น รากฐานความคิด ของ Framework & Design Pattern

Framework คือ อะไร ?
ถ้าพูดกัน เป็นภาษาชาวบ้านๆ Framework ก็คือกรอบ ในการเขียนโปรแกรม เพื่อให้ ทิศทางการเขียนโปรแกรม 
เป็นไปทางเดียวกัน ซึ่งรูปแบบ อะไรทำซ้ำๆ ก็ทำเป็น Framework เอาไว้ให้คนใช้กัน แบบนี้ก็ 
เป็น Framework ได้แล้ว

ถ้าจะเปรียบเทียบ กับการสร้างอาคาร Framework คือ พิมพ์เขียว
ส่วน Pattern คือ แปลนบ้าน นั่นเอง

ถ้าทางด้าน Programming เช่น MVC Framework, Dot Net Framwork, Spring MVC Framework
มีอีกเยอะแยะมากมาย 

Design Pattern คือ อะไร ?


Design Pattern จะมอง เหมือน Template ก็ได้ แต่ก็ไม่ถูกซะทีเดียว

Design Pattern เป็นหมือนข้อบังคับ ว่าถ้าคุณจะทำสิ่งนี้ ก็ต้องใช้สิ่งนี้ทำ และ ทำแบบนี้เท่านั้น
เช่น เด็กไทย ครบอายุ 15 ต้องทำบัตรประชาชน ทำน้องนี้
ในทาง Programming ก็เช่นกัน เช่น การประกาศตัวแปร ชื่อของ Function ให้ตั้งชื่อ ตาม 
Naming Convention ของ Camel หรือ Pascal (ลองหาอ่านดู นะ ว่า Camel กับ Pascal มีข้อกับหนดกันอย่างไร) 
ดังนี้ เป็นต้น

ทำไมต้องใช้ Design Pattern ?


เพราะ เป็นข้อกำหนดที่ชัดเจน ไม่คลุมเครือ ง่ายต่อการเข้าใจ เพื่อนำไปปฎิบัติ

ทำไมใช้ Framework ยังไม่พอหรือไง ถึงต้องใช้ Design Pattern ด้วย ?
ไม่พอ ครับ เพราะ Framework เป็นแค่กรอบกว้างๆ ยังไม่ได้ Control ไปถึง Detail ในการลงมือ 
ปฏิบัติจริงๆ เพราะ Design Pattern จะบอกถึงรายละเอียด ที่ชัดเจนครับ
ดังนี้ Framework กับ Design Pattern ควรจะใช้ ร่วมกัน แล้ว งานทางด้าน Programming
จากงานใหญ่ๆ ก็จะกลายไปงาน เล็กๆ ที่นำมาต่อ กันครับ

ยกตัวอย่าง 
ตึกใหญ่ๆ ครับ มันก็คือ ชินส่วนเล็กของ อิฐ แต่ละก่อน มาต่อกัน ครับ
ดังนั้น Framework และ Design Pattern จึงหนีไม่พ้น แนวคิด ของ OOP และ Framework ของ ภาษาโปรแกรมนั้นๆ ครับ 
เพราะถ้าขาดหัวใจหลัก สองตัวนี้ ก็จะไม่มี Framework และ Design Pattern ขึ้นมา

ข้อดีของการใช้ Framework และ Design Pattern 
- ทำให้ทีมพัฒนาโปรแกรม เขียน Code ไปในทิศทางเดียวกัน
- ทำให้ Maintain Code ภายหลังได้ง่ายขึ้น แล้ว ใช้เวลาส้้นลง ปวดหัวน้อยลง ค่าใช้จ่ายลดลง
- Programmer มือใหม่ สามารถทำงาน ตามรุ่นพี่ ได้อย่างรวดเร็ว เพราะ ทุกๆ Application
  ถูกพัฒนา ด้วย Framework เดียวกัน
- Framework เป็นสากล ที่ทั่วโลกใช้ กัน ไม่ได้ เป็นแบบ มวยวัดอีกต่อไป
- ป้องกันความเสี่ยง ของ Project ล่ม เพราะคนเก่า ลาออก 
- ช่วยให้คนที่ไม่มีประสบการณ์ สามารถเขียนโปรแกรม ให้มีประสิทธิภาพเท่าคนมีประสบการณ์มากได้
- ช่วย องค์กรลดความเสี่ยงเรื่อง พนักงานลาออก แล้ว หาพนักงานใหม่มาแทน เพื่อให้ทำงานได้เท่า      คนที่ ลาออกไป อย่างนี้เป็นต้น

ข้อดี ของ Design Pattern กล่าวโดยหลักแล้ว มีดังนี้
  1. งานเสร็จเร็ว ตอบสนองต่อความต้องการของ ธุรกิจได้เร็ว (Productivity)
  2. ความน่าเชื่อถือ(Reliability) ของโปรแกรมมีมากขึ้น (ไม่มี Bug)
  3. ความคงทน (Robust) หมายถึง แก้จุดนึง แล้วไม่หระทบไปยังจุดอื่นๆ
  4. ยืดหยุ่นสูง (Flexibility) ความยืดหยุ่น 
      เช่น ให้คนที่มาใหม่ยังไม่รุ้อะไร มากนัก ก็สามรถแก้โปรแกรมได้แล้ว
      แค่ให้เข้าใจว่า Pattern นั้นทำงานอย่างไร 
หรือ เมื่อเกิดปัญหาขึ้น
      สามารถทำให้หา Root Cause ของปัญหานั้นได้เร็ว

 5. ต้นทุนต่ำ (Low Cost) เช่น การจ้าง Programmer ที่มีประสบการณ์น้อยๆ
     ค่าตัวไม่สูงมากนัก มาทำงาน 
ก็ได้งานเท่าคนที่ มีประสบการณ์สูงค่าตัวแพง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น