Skip to content
ツ Liverbool edited this page Aug 27, 2013 · 8 revisions

Factory Pattern จัดอยู่ในหมวดของ Creational Patterns จุดประสงค์เพื่อที่จะอธิบายว่าเราจะสร้างอ๊อปเจ็ค ​(create object or instance) ด้วยวิธีไหนที่ดีที่สุด

โรงงานผลิต (ชิ้นส่วน) โดยชื่อก็บอกอยู่แล้วนะครับ ว่าการทำงานจะคล้ายๆ กับโรงงานผลิต แต่โครงสร้างโรงงานจะเป็นระบบสายพาน หรือไม่ก็เป็นลักษณะ Assembly คือทำหน้าที่ประกอบชิ้นส่วนที่ถูกสร้างจากแหล่งอื่นๆ หรือโรงงานย่อยอื่นๆ ให้เป็นชิ้นส่วนสำเร็จรูปขึ้นใหม่ ยกตัวอย่างเช่น โรงงานผลิตรถยนต์ (ไม่เคยสัมผัสจริงนะครับ แต่คาดว่าใช่) ชิ้นส่วนต่างๆ ไม่ได้ถูกผลิดในที่เดียวกัน เช่น ตัวถัง ล้อ อุปกรณ์ตกแต่ง เหล่านี้ต่างก็ถูกแยกผลิตคนละที่ โดยที่แต่ละโรงงานย่อยนั้น อาจจะมีหลายโรงงานด้วยกัน ซึ่งผลิตชิ้นส่วนเดียวกันแต่มีลักษณะบางอย่างที่แตกต่างกัน (ถึงต้องแยกโรงงานกัน) เช่น โรงงานผลิตล้อ แต่เป็นล้อคนละแบบ อะไรทำนองนี้

Pattern ในกลุ่มนี้ดูผิวเผินคล้ายคลึงกันมากคือ Factory, Prototype, Adapter และบางครั้งก็เหมือนมีบางอย่างซ้ำซ้อนกันด้วย (​Overlap)

ก่อนอื่น ดูตัวอย่างคร่าวๆ ก่อนนะครับ ตัวอย่างนี้ค่อนข้างชัดเจนมาก

http://upload.wikimedia.org/wikipedia/commons/a/a7/Abstract_factory.svg

และนี่....

http://upload.wikimedia.org/wikipedia/commons/9/9d/Abstract_factory_UML.svg

http://en.wikipedia.org/wiki/Abstract_factory_pattern

หรือนี่...

http://upload.wikimedia.org/wikipedia/commons/a/a3/FactoryMethod.svg

http://en.wikipedia.org/wiki/Factory_method_pattern

ดูแบบนี้แล้วใจชื้นขึ้นเยอะใช่ไหมครับ ท่าทางจะง่ายๆ นะ (จริงๆ แล้ว Factory Pattern ถือว่าเข้าใจง่ายมาก แต่มีประโยชน์สูงมากเลยทีเดียว)

... เดี๋ยวมาต่อ ...

Clone this wiki locally