2010-09-21 22 views
9

Tôi là người mới với khái niệm mẫu thiết kế.
C# là ngôn ngữ lập trình chính của tôi. (Tôi sử dụng VB theo thời gian). Tôi không muốn viết mã sloppy mà là không linh hoạt, không thể mở rộng và lỗi.
Bất cứ khi nào tôi nhìn thấy một mẫu thiết kế đang hoạt động, tôi tận hưởng logic đằng sau nó và hiểu rõ nó, Nhưng thật không may, tôi gặp sự cố khi triển khai chúng trong các dự án của tôi.Mẫu thiết kế ... Bắt đầu từ đâu? (Một số mẫu trong thế giới thực)

Bạn thấy đấy, có rất nhiều mẫu thiết kế (120+ tôi nghĩ) và tôi sắp bị mất trong số đó khi tôi muốn quyết định sử dụng cái nào.
Khi nói đến việc sử dụng chúng trong hành động, tôi không có ý tưởng gì để lựa chọn.
Tất cả những gì tôi nhận được từ hướng dẫn là một số đoạn mã khá đơn giản, cách xa môi trường sản xuất. ngoại trừ Mẫu DDD mà tôi đã quản lý để tìm hiểu nó tốt vì có ít nhất 2 cuốn sách hay và nhiều tài nguyên về nó.

Bây giờ câu hỏi của tôi:
Có bất kỳ nơi nào mà tôi có thể tìm thấy một số mẫu thực bằng các mẫu thiết kế khác nhau không? Ít nhất một số mẫu "thực tế hơn". Bạn có biết bất cứ nơi nào mà tôi có thể tìm thấy những cuốn sách/mẫu/tài nguyên cho các mẫu khác không?
Cảm ơn.

Trả lời

11

Tôi bắt đầu với sách Head First Design Patterns. Nó không phức tạp như một số cuốn sách khác và có nghĩa là trở thành một trải nghiệm học tập thay vì một tham chiếu.

Tốt hơn nhiều cho việc học hỏi từ đầu theo ý kiến ​​của tôi. Đầu Đầu tiên sách khá hay về việc trình bày tài liệu theo những cách thú vị và làm một công việc tốt đẹp để giữ cho bạn quan tâm. Cuốn sách này cũng cố gắng kết hợp từng mẫu với một ví dụ giả thực tế.Ví dụ của họ có thể không phù hợp với những gì bạn đang làm, nhưng ít nhất họ cũng đối phó với các vấn đề tương tự như các vấn đề trong thế giới thực (tôi nghĩ ví dụ đầu tiên là viết một trò chơi mô phỏng vịt).

Cũng Head First Design Patterns tập trung vào nhồi nhét não của bạn với càng nhiều mẫu càng tốt để bạn có thể nhận ra khi bạn đang ở trong một tình huống sử dụng một và được trang bị tốt, đủ để ít nhất bắt đầu. Đây là nơi một tài liệu tham khảo cụ thể, chẳng hạn như cuốn sách GoF có thể có ích.

Tuy nhiên, hãy nhớ rằng Sách đầu tiên thường tập trung vào người mới bắt đầu hoàn chỉnh. Sách của họ không làm cho tài liệu học tập tốt sau khi bạn đạt đến giai đoạn trung gian trong một chủ đề nhất định.

+0

+1 Một cuốn sách tuyệt vời để bắt đầu. Làm cho nó dễ dàng hơn nhiều để có được vào cuốn sách GoF tiếp theo, cho những người mới vào các chủ đề này. – FrustratedWithFormsDesigner

+2

Thật buồn cười, mọi người dường như đồng ý đó là cuốn sách hay nhất nhưng tôi chưa bao giờ thích cách nó được cấu trúc. – ken

+0

@ken yeah, đó là một chút khác biệt, đó là chắc chắn. Mặc dù nó được cấu trúc kỳ lạ (khác với hầu hết bất kỳ cuốn sách nào khác, đặc biệt là sách kỹ thuật), theo ý kiến ​​của tôi, trình bày tài liệu theo một phương pháp dễ tiếp cận hơn bất kỳ cuốn sách mẫu thiết kế nào khác mà tôi đã thấy cho đến nay. Họ làm điều này bằng cách tưới các đối tượng xuống càng nhiều càng tốt để họ gần như dễ hiểu. Tuy nhiên, các mẫu thiết kế là một chủ đề khó khăn, nó thực sự hoạt động trong trường hợp này. –

9

Tôi vẫn cảm thấy như là original gang of four Design Patterns book là cách tốt nhất để tìm hiểu điều này. Trọng tâm không phải là sử dụng mẫu bằng một ngôn ngữ cụ thể hoặc một địa điểm cụ thể, nhưng thực sự mô tả lý do tại sao các mẫu này tồn tại.

Một khi bạn thực sự hiểu lý do tại sao các mẫu tồn tại (không chỉ cách chúng hoạt động), việc sử dụng chúng trong mã sản xuất của riêng bạn là tự nhiên.

+1

+1, sách GoF vẫn là sách phải đọc. –

+0

sau 4 năm ban đầu đăng câu hỏi này, tôi phải thừa nhận cuốn sách GoF ban đầu là tốt hơn nhiều so với bất kỳ tài nguyên nào khác. – Kamyar

0

Patterns đọc Martin Fowler của ứng dụng Kiến trúc Doanh nghiệp:

http://www.amazon.co.uk/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420

Và cũng architecting Ứng dụng cho Doanh nghiệp:

http://www.amazon.co.uk/Microsoft-NET-Architecting-Applications-PRO-Developer/dp/073562609X

Cả hai đều tốt. Sau này có một số ví dụ .NET về các mẫu được trưng bày trong cuốn sách của Martin Fowler. Cả hai cuốn sách giải thích khi nào là tốt để sử dụng một mẫu nhất định.

2

Bắt đầu với các mẫu GoF. ISBN 978-0201633610 Mẫu thiết kế: Các thành phần của phần mềm hướng đối tượng tái sử dụng

1

Trang web này có một danh sách tốt đẹp của mô hình cổ điển và các đối tượng liên quan khác với các ví dụ: SourceMaking.

PS: Tôi đã luôn lo lắng về các quyền mà trang web này có hoặc không xuất bản thông tin này. Phần Refactoring là một bản sao của cuốn sách Martin Fowler, Nhưng tôi chưa bao giờ tìm thấy bất kỳ tài liệu tham khảo rõ ràng nào.

2

Hiểu về các mẫu thiết kế đi kèm với thời gian và kinh nghiệm. Trừ khi bạn rất tài năng, ban đầu bạn có thể viết mã có thể được cấu trúc hiệu quả hơn và bạn thậm chí sẽ không nhận thấy. Đừng lo lắng về điều đó quá nhiều.

Điều có mẫu thiết kế là học cách thấy lợi ích của chúng. Hình dạng cụ thể của một mẫu thường có lý do rất rõ ràng. Học cách sử dụng một mẫu dễ dàng một khi bạn đã tìm ra lý do tại sao tổ chức mã theo cách đó có lợi. Đặt câu hỏi, thiết lập giả thuyết, thử nghiệm và xem bạn có đúng không.

Để đọc, tôi muốn đề xuất Design Patterns Explained và trang SourceMaking Matthieu đề xuất cũng tốt.

Các vấn đề liên quan