Design patterns คำตอบของการแก้ปัญหาเชิง software architectures…
ผมเคยเขียนเกี่ยว design pattern ไปบ้างแล้วโดย ยกเอาบาง design pattern มาอธิบาย และแสดงตัวอย่าง เขียนเสร็จแล้ว อ่านเองก็ยังไม่ค่อยเข้าใจครับ ผมก็เลยคิดว่าจะหาที่ reference ดี ๆ ที่เขามีวิธีการอธิบายดีให้เราได้เข้าใจกันง่าย ๆ และมีตัวอย่างที่เห็นภาพการใช้งาน และก็จะกล่าวถึงให้ครบถ้วนทุกตัวตราบเท่าที่ความขยันยังมีอยู่ ครับ
ท่านที่เป็น โปรแกรมเมอร์ทั้งหลายทราบดีอยู่แล้วว่า design pattern ก็คือ รูปแบบที่สามามารถนำมาใช้แก้ปัญหา ใน ปัญหา หลากหลายรูปแบบต่าง ๆ กัน ซึ่งรูปแบบดังกล่าวนี้ ได้ถูกปรับปรุงครั้งแล้วครั้งเล่าจน ได้ รูปแบบต่าง ๆ ออก มาเป็น design pattern ในแต่ละชนิด ใช้แก้ปัญหา ในแต่ละแบบต่าง กันไปตามความเหมาะสม (หรือ ความหมายตาม วิกิพีเดีย)
กล่าวกันว่าถ้าเราสามารถทำความเข้าใจ design pattern แต่ละตัวอย่างลึกซึ่งแล้ว ท่านจะสามารถนำไปใช้พัฒนา การออกแบบ สถาปัตยกรรม software ให้มีความ ทนทานและมีความยืดหยุ่น สูง ง่ายต่อการ บำรุงรักษา ง่ายต่อการปรับปรุง
Gang of Four (GOF) patterns นั้นถือว่าเป็นพื้นฐานของ design patterns อื่น ๆ ทั้งหมด ได้มีการแยกแยะออกเป็น กลุ่ม ได้ 3 กลุ่ม คือ Creational Structural และ Behavioral ซึ่งผมจะกล่าวถึง design pattern หมดในแต่ละกลุ่มโดยละเอียด – ดังนี้
Creational Patterns | |
– Abstract Factory | |
– Builder | |
– Factory Method | |
– Prototype | |
– Singleton | |
Structural Patterns | |
– Adapter | |
– Bridge | |
– Composite | |
– Decorator | |
– Facade | |
– Flyweight | |
– Proxy | |
Behavioral Patterns | |
– Chain of Resp. | |
– Command | |
– Interpreter | |
– Iterator | |
– Mediator | |
– Memento | |
– Observer | |
– State | |
– Strategy | |
– Template Method | |
– Visitor |
Teerapong Sontayaman , Soft Speed solution – senior programmer s_teerapong2000@yahoo.com