Thực sự có hai lý do khác nhau, đáng kể cho sự tồn tại của các mẫu.
Điều đầu tiên đã được giải thích khá tốt: việc sử dụng các mẫu bôi trơn giao tiếp giữa các nhà phát triển. Nếu cả bạn và tôi đều hiểu rằng khi tôi nói 'Người quan sát' tôi đang nói về một cấu trúc mã rất cụ thể, thì tôi có thể mô tả rất nhanh cách một bit mã sử dụng mẫu đó hoạt động. Thay thế là để mô tả đầy đủ các giải pháp, đó là tốn thời gian và dễ bị lỗi. ("Chà, tôi đã tạo lớp ảo thuần này mô tả và giao diện cho các đối tượng người tiêu dùng, sau đó tôi đã tạo một lớp duy trì một danh sách những người tiêu dùng đang hoạt động, ...")
Lợi ích thứ hai của các mẫu là chúng là các dạng giải pháp sẵn có cho các dạng bài toán phổ biến. Nếu bạn biết các mẫu của mình và, ví dụ, bạn gặp phải một vấn đề trong đó bạn cần tìm một cách tốt để lấy thông tin từ (có thể nhiều) đối tượng sản xuất cho nhiều đối tượng người tiêu dùng, mà không đưa ra sự ghép nối không cần thiết giữa các lớp, bạn sẽ nhận ra "điều này là một công việc cho một Người quan sát! " và bạn sẽ biết ngay cách giải quyết vấn đề của mình.
Những lợi ích này cũng thực sự củng cố lẫn nhau. Chúng cho phép bạn giải quyết nhanh chóng các loại vấn đề phổ biến nhất định và sau đó khi bạn hoàn thành, bạn có thể nhanh chóng truyền đạt cách bạn giải quyết vấn đề.
Tương phản điều này với một thế giới nơi các mẫu "không tồn tại". Bạn gặp phải một trong những loại vấn đề này, thường không phải là vấn đề thiết kế tầm thường và bạn dành một chút thời gian để đưa ra một giải pháp tốt (tình cờ, rất có thể sẽ trông rất giống mẫu phù hợp). Sau đó, đồng nghiệp của bạn đến và muốn biết bạn đã giải quyết nó như thế nào và bạn dành một giờ để thảo luận về cách thức và lý do tại sao.
Tất cả điều này được liên kết với một cảnh báo có vẻ khá rõ ràng: đừng cố ép các vấn đề thành các mô hình không phù hợp. Nếu mô hình không phù hợp với vấn đề, thì giải pháp cuối cùng sẽ bị sai lệch và bạn sẽ mất lợi ích giảm nỗ lực của các mẫu. Ngoài ra, vì công việc của bạn sẽ không còn phù hợp với sự hiểu biết của đồng nghiệp về ý nghĩa của mẫu, bạn sẽ mất chi phí lợi ích giao tiếp. Trên thực tế, bạn có thể sẽ tăng chi phí liên lạc vượt quá chi phí phi mẫu, bởi vì việc sử dụng sai mẫu sẽ khiến đồng nghiệp của bạn hiểu sai về giải pháp, tệ hơn là không hiểu gì cả.