Bất kỳ kho lưu trữ mẫu nào sẽ cung cấp cho bạn các gợi ý như "điều này hữu ích khi ...", nhưng thường không có bất kỳ chỉ mục nào cho phép bạn tra cứu "số thẻ tín dụng" và trả về "đối tượng ruồi" . Điều gần nhất có sẵn thường là nhóm các mẫu giống như hành vi, xây dựng, v.v.
Theo tôi, không có vấn đề gì khi tiếp cận một vấn đề bằng cách tự hỏi bạn nên áp dụng mẫu thiết kế nào. Nếu bạn đủ quen thuộc với một mẫu, bạn sẽ nhận thấy ngay lập tức rằng nó được áp dụng và cách thức. Nếu bạn không thấy phù hợp, sau đó cố gắng nhấn một mẫu vào dịch vụ chỉ để bạn có thể nói "Tôi đã sử dụng mẫu XX, vì vậy thiết kế phải tốt!" là một sai lầm nguy hiểm.
Có những người thậm chí còn nói rằng các mẫu thiết kế là một kludge ngay từ đầu, một dấu hiệu cho thấy ngôn ngữ của bạn không đủ biểu cảm. (Điều này không có vẻ điên rồ như vậy, hãy xem xét những thứ như WHILE vòng lặp hoặc bảng băm đã từng vắng mặt từ các ngôn ngữ lập trình, và các lập trình viên tổng thể của thời đại đó sẽ phải thực hiện lại chúng một lần nữa, bây giờ chúng là một phần của cú pháp, và không ai có thể mơ ước gọi chúng là 'mẫu'.) Tôi, tôi không phải là kẻ cực đoan đó; Tôi nghĩ rằng một mẫu thiết kế được lựa chọn tốt có thể rất hữu ích khi bạn sử dụng nó bởi vì bạn tin rằng nó là một giải pháp tốt, nhưng điều đó đòi hỏi bạn phải thấu hiểu nó, và theo kinh nghiệm của tôi, điều này hầu như luôn luôn phải tự mình thực hành . Giá trị của các mẫu nằm trong việc đưa ra một tên dễ nhận biết cho một cái gì đó thường được thực hiện, vì vậy bạn có thể nhớ nó tốt hơn và giao tiếp về nó với các đồng nghiệp của bạn.
Nguồn
2010-06-18 07:23:42
+1 liên lạc đẹp. Tôi thích cách bạn giải quyết các mẫu thiết kế như một cái gì đó mà bạn cần phải hiểu sâu sắc và sử dụng khi áp dụng; và làm thế nào nó có lợi để biết chúng để bạn có thể truyền đạt ý định của bạn với các đồng nghiệp của bạn.Thay vì 'cách này là cách bạn chuyển đổi mã của bạn thành một sự pha trộn của phương pháp tiếp cận các mẫu thiết kế'. Tôi muốn nhiều người hơn sẽ sử dụng cách tiếp cận cũ bởi vì những người dựa vào các bậc thang cho toàn bộ khái niệm về các mẫu thiết kế là một cái tên xấu. –