Design Pattern (Ilmu Komputer) adalah solusi umum yang sering digunakan untuk menyelesaikan masalah yang ditemukan dalam software design. Sebuah design pattern tidak berbentuk solusi design yang sudah jadi dan dapat langsung diubah menjadi kode program. Design pattern berisi penjelasan atau template yang menunjukkan bagaimana cara menyelesaikan sebuah masalah yang kemudian dapat digunakan di berbagai situasi yang berbeda-beda. Object-Oriented Design pattern biasanya menunjukkan relasi dan interaksi antar kelas dan objek, tanpa menjelaskan kelas dan objek akhir yang terlibat dalaam sebuah aplikasi. Algoritma biasanya tidak disebut sebagai design pattern, karena algoritma menjadi solusi masalah komputasi bukan masalah design.