ดีไซน์แพตเทิร์น - วิกิพีเดีย

# ดีไซน์แพตเทิร์น

### จากวิกิพีเดีย สารานุกรมเสรี

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

## [แก้] จุดเริ่มต้น

หนังสือ Design Patterns

ดีไซน์แพตเทิร์นมีจุดเริ่มต้นจากหนังสือชื่อ A Pattern Language: Towns, Buildings, Construction แต่งโดยสถาปนิกชื่อ Christopher Alexander เมื่อปี ค.ศ. 1977 จากนั้น Kent Beck และ Ward Cunningham ริเริ่มนำเอาแนวคิดนี้มาทดลองใช้กับการเขียนโปรแกรมในปี ค.ศ. 1987 และได้นำเสนอผลงานในงานประชุม OOPSLA ในปีเดียวกันนั้น

ดีไซน์แพตเทิร์นเริ่มเป็นที่นิยมในวงการวิทยาการคอมพิวเตอร์ในปี ค.ศ. 1994 หลังจากมีหนังสือที่แต่งโดย Erich Gamma, Richard Helm, Ralph Johnson และ John Vlissides (Gang of four: GoF) ชื่อ Design Patterns: Elements of Reusable Object-Oriented Software (ISBN 0-201-63361-2)

## [แก้] ประโยชน์

ดีไซน์แพตเทิร์นช่วยทำให้กระบวนการพัฒนาโปรแกรมรวดเร็วขึ้นเพราะเป็นตัวอย่างที่ผ่านการพิสูจน์ทดสอบมาแล้ว การออกแบบซอฟต์แวร์ที่ดีต้องเตรียมการสำหรับปัญหาที่อาจจะไม่พบจนกว่าจะเริ่มนำไปใช้งาน การใช้ดีไซน์แพตเทิร์นช่วยป้องกันปัญหาเล็กน้อยที่อาจจะลุกลามใหญ่โต ทั้งยังทำให้การทำความเข้าใจโค้ดง่ายขึ้นในหมู่ผู้ร่วมงานในทีมที่คุ้นเคยกับดีไซน์แพตเทิร์น

## [แก้] การจัดหมวดหมู่และแพตเทิร์นในหนังสือ Design Patterns

การจัดหมวดหมู่ดีไซน์แพตเทิร์นตามหนังสือ Design Patterns แบ่งตามวัตถุประสงค์การใช้งาน ดังนี้

### [แก้] แพตเทิร์นการสร้างอ็อบเจกต์ (creational patterns)

- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton

### [แก้] แพตเทิร์นโครงสร้าง (structural patterns)

- Adapter
- Bridge
- Composite
- Decorator
- Façade
- Flyweight
- Proxy

### [แก้] แพตเทิร์นพฤติกรรม (behavioral patterns)

- Chain of responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template method
- Visitor

## [แก้] หมวดหมู่แพตเทิร์นอื่นๆ

- concurrency patterns
- architectural patterns

## [แก้] ดูเพิ่ม

- การเขียนโปรแกรมเชิงวัตถุ
- ยูเอ็มแอล
- ภาษาจาวา

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

ดึงข้อมูลจาก "http://th.wikipedia.org../../../%E0%B8%94/%E0%B8%B5/%E0%B9%84/%E0%B8%94%E0%B8%B5%E0%B9%84%E0%B8%8B%E0%B8%99%E0%B9%8C%E0%B9%81%E0%B8%9E%E0%B8%95%E0%B9%80%E0%B8%97%E0%B8%B4%E0%B8%A3%E0%B9%8C%E0%B8%99.html".

หมวดหมู่: บทความเกี่ยวกับ ซอฟต์แวร์ ที่ยังไม่สมบูรณ์ | การเขียนโปรแกรม

##### Views

- บทความ
- อภิปราย
- รุ่นปัจจุบัน

##### ค้นหา

##### ภาษาอื่น

- English
- 日本語
- Polski
- Tiếng Việt
- 中文