Bật câu hỏi: mẫu mtch bạn nên tạo là "mẫu phù hợp với vấn đề của tôi". Hãy xem xét một mô hình thực sự đơn giản, tìm kiếm một phần tử trong một mảng. trong C, nó giống như là
TYPE_t ary[SIZE] = // ... gets initialized somehow
size_t ix ; // Your index variable
for(ix=0; ix < SIZE; ix++){
if (ary[ix] == item) {
return ix ;
}
}
Bạn không nhìn vào mã và nghĩ "Tôi có thể sử dụng cái đó ở đâu", bạn xem xét vấn đề và nói "tôi biết cách tìm phần tử trong mảng ? "
Với nhiều kiểu mở rộng hơn thực sự hoạt động theo cùng một cách. Bạn cần có nhiều bản sao của một cấu trúc dữ liệu không thay đổi thường xuyên --- điều đó khiến bạn nghĩ "Flyweight". Bạn muốn một cái gì đó mà sống trên cả hai mặt của một ranh giới mạng, bạn nghĩ rằng Proxy.
Khi bạn nghiên cứu các mẫu, đặc biệt là GoF, hãy tự hỏi mình "những tình huống nào cho mẫu này? Tôi có thấy mô hình này trước đây không? Tôi có thể sử dụng mẫu này trong tác phẩm trước đây ở đâu? Tôi có thể tìm ví dụ này ở đâu cuộc sống của tôi?"
Nguồn
2008-11-11 02:19:40
Làm cách nào để nghiên cứu các ứng dụng khác nhau khi chúng không được ghi nhận? Trong thế giới thực, chúng tôi áp dụng và tiếp tục. Làm thế nào để tìm nguồn đó, nơi chúng ta có thể nghiên cứu về ứng dụng thành công trước khi áp dụng ??? Nguồn gốc ở đâu ?? –
cho người đàn ông này một ly bia. – user1262904