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