วันอังคารที่ 25 มีนาคม พ.ศ. 2557

Framework & Design Pattern

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

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

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

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

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

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

ทำไมใช้ Framwork ยังไม่พอหรือไง ถึงต้องใช้ 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 ภายหลังได้ง่ายขึ้น แล้ว ใช้เวลาส้้นลง ปวดหัวน้อยลง  ค่าใช้จ่ายลดลง
    - Progrmmer มือใหม่ สามารถทำงาน ตามรุ่นพี่ ได้อย่างรวดเร็ว เพราะ ทุกๆ Application
      ถูกพัฒนา ด้วย Framework เดียวกัน
    - Framework เป็นสากล ที่ทั่วโลกใช้ กัน ไม่ได้ เป็นแบบ มวยวัดอีกต่อไป
    - ป้องกันความเสี่ยง ของ Project ล่ม เพราะคนเก่า ลาออก
      มีข้อดีอีกเยอะ ครับ

** อ่านแล้ว มีความคิดเห็น แลกเปลี่ยน เขียนกันเข้ามาได้ครับ **

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

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