Các mẫu thiết kế đại diện cho các phương pháp hay nhất được các nhà phát triển phần mềm hướng đối tượng có kinh nghiệm sử dụng. Các mẫu thiết kế là giải pháp cho các vấn đề chung mà các nhà phát triển phần mềm gặp phải trong quá trình phát triển phần mềm. Các giải pháp này đã được nhiều nhà phát triển phần mềm thu được bằng cách thử và sai trong một khoảng thời gian khá dài.
Các mẫu thiết kế là ngôn ngữ bất khả tri. Các mẫu thiết kế có thể được phân loại thành ba loại:Mẫu sáng tạo, Cấu trúc và Hành vi.
Các mẫu sáng tạo - Các mẫu thiết kế này cung cấp một cách để tạo các đối tượng trong khi ẩn logic tạo, thay vì tạo đối tượng trực tiếp bằng cách sử dụng bộ tạo mới. Điều này giúp chương trình linh hoạt hơn trong việc quyết định đối tượng nào cần được tạo cho một trường hợp sử dụng nhất định. Các mẫu ví dụ:Factory, Builder, Singleton, v.v.
Các mẫu cấu trúc - Các mẫu thiết kế này liên quan đến lớp và thành phần đối tượng. Khái niệm kế thừa được sử dụng để soạn các giao diện và xác định cách soạn các đối tượng để có được các chức năng mới. Các mẫu ví dụ:Bộ điều hợp, trang trí, mặt tiền, v.v.
Mô hình hành vi - Các mô hình thiết kế này đặc biệt quan tâm đến giao tiếp giữa các đối tượng. Các mẫu ví dụ:Người quan sát, Trình lặp lại, Chiến lược, v.v.