[Design Patterns Series] #0 What is it?
Design Patterns คืออะไร?
Design Patterns เป็นหลักการ/รูปแบบการเขียนโปรแกรมเชิงวัตถุที่เป็นมาตรฐานและเป็นที่ยอมรับ หากนำไปใช้ซ้ำ (Reusable) กี่ครั้งก็จะได้ผลลัพธ์แบบเดียวกัน โดยไม่ขึ้นกับประสบการณ์ของ Developer
ซึ่งการออกแบบ software เชิงวัตถุ (OOD-Object Oriented Design) เป็นการออกแบบเพื่อตอบโจทย์กับ Requirement ที่ต้องการจะแก้ปัญหาใดๆ ดังนั้นหากต้องการ software ที่มีประสิทธิภาพ ยืดหยุ่น จึงจำเป็นต้องมีการออกแบบที่ดี
Design Patterns เหล่านี้ล้วนเป็นรูปแบบที่ผ่านการใช้งานและเป็นที่ยอมรับแล้วว่า หากใช้วิธีการออกแบบและพัฒนาตามรูปแบบต่างๆของ Design Patterns จะทำให้ได้ software ที่ยืดหยุ่น, reusable และมีประสิทธิภาพ รวมทั้งช่วยในการทำงานของเหล่า Developer อีกด้วย เพราะหากใช้มาตรฐานเดียวกันในการเขียนโปรแกรมก็จะทำให้ลดเวลาในการเรียนรู้ (แต่ต้องรู้ Design Patterns ก่อนนะ!) และยังลดช่องว่างของความต่างในเรื่องประสบการณ์อีกด้วย
GoF Design Patterns
GoF ย่อมาจาก Gang of Four เป็นชุดของ Design Patterns ที่รวบรวมโดยคน 4 คน โดยทั้งชุดประกอบด้วย 23 Patterns แบ่งย่อยเป็น 3 หมวดตามวัตถุประสงค์ในการใช้งาน
- Creational → สำหรับแก้ปัญหา :: ในการสร้าง Object
- Structural → สำหรับแก้ปัญหา :: โครงสร้างความสัมพันธ์ระหว่าง Class
- Behavioral → สำหรับแก้ปัญหา :: พฤติกรรมของ Object และความสัมพันธ์ระหว่าง Object
**จะเห็นได้ว่า Scope ของ Design Patterns จะมี 2 ส่วน คือ Object และ Class
แต่ละหมวดประกอบด้วยอะไรบ้าง
อื้อหืออออ!! @_@ เยอะชะมัด ขอกำลังใจหน่อยยยย ฮึ๊บๆ ฮูเร่ๆ นอกจากความเยอะแล้ว เรายังต้องเผชิญกับความยากในการทำความเข้าใจแต่ละ Patterns ด้วยสินะ Omg! อาจจะมีอาการอ่านไป กรี๊ดไป ฮ่าาา เอาหน่า… ‘มีประโยชน์ๆ’ ท่องไว้ๆ ค่อยๆก้าวแบบพี่ตูน 5555+ #เกี่ยวอะไรกับเขาไหม วันนี้ก็จบไว้แต่เพียงเท่านี้ก่อน.