2008-09-25 34 views
40

Ý tưởng về các mẫu thiết kế đến từ đâu, ai đã quyết định cái gì và không phải là một khuôn mẫu và đặt tên cho chúng? Có một tổ chức chính thức nào định nghĩa chúng hay chúng tồn tại thông qua một số sự đồng thuận của cộng đồng?Danh sách mẫu thiết kế có tồn tại không?

+3

Đóng các câu hỏi xuất sắc không mang tính xây dựng. – Andrew

Trả lời

65

Tôi nghĩ rằng có một "vòng đời của một mẫu thiết kế" cơ bản

  1. Tác giả viết về mẫu thiết kế trong một cuốn sách.
  2. Sách trở nên được đọc, có thể là người bán hàng tốt nhất
  3. Mẫu thiết kế đi vào ý thức công cộng, tăng tầm nhìn.
  4. Mẫu thiết kế được sử dụng. Nó hoạt động tốt. mẫu thiết kế được nhiều tính năng quan tâm hơn
  5. Mẫu thiết kế trở thành thuốc chữa bách bệnh, được sử dụng quá mức.
  6. Tác giả khác nhau viết "mẫu thiết kế coi là có hại"
  7. mẫu thiết kế trở nên Anti Pattern
  8. Tác giả khác nhau trở nên nổi tiếng, viết cuốn sách đầy đủ của các mẫu thiết kế mới ...
+0

Mẫu cũng có thể tồn tại nếu nó được sử dụng ở một vài nơi trong một ứng dụng; mặc dù họ có thể vẫn không công khai. Ai biết được loại mẫu nào có thể được phát hiện trên mã Windows (Younameit) .... :) – OscarRyz

+5

Phản hồi này là một mẩu ý kiến ​​chứ không phải là câu trả lời cho bất kỳ câu hỏi nào của David. Đã bỏ phiếu. –

+0

@JohnLandahl: Tôi không nghĩ vậy. Nó chắc chắn là phóng đại nhưng dựa trên các quan sát. Tôi đã thực hiện các quan sát tương tự. –

12

Wikipedia có danh sách tốt. http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

Hầu hết là do sự đồng thuận của cộng đồng (mà cộng đồng phúc lợi của những người đã đọc các mẫu thiết kế hoặc mã hoàn chỉnh: /)

+2

Cũng ở đây: http://en.wikipedia.org/wiki/Category:Software_design_patterns – Chilloutman

4

Không có danh sách cuối cùng. Các mẫu được phát hiện, không được phát minh, do đó không có tổ chức nào có thể nói "đây là một mẫu" và "đây không phải là một mẫu". Ngay cả khi có một, nó sẽ không hữu ích cho bất cứ ai.

Mặc dù vậy, các mẫu "nổi tiếng" là các mẫu được mô tả trong Mẫu thiết kế hoặc sách GOF.

23

Hầu hết mọi người sẽ trỏ đến "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson, và John Vlissides), người đã viết cuốn sách Design Patterns: Elements of Reusable Object-Oriented Software. Không có danh sách dứt khoát thực sự nào là các mẫu thiết kế hữu ích chắc chắn luôn được phát hiện.

0

Có một cuốn sách kinh điển: Gamma, Helm, Johnson, Vlissides: "Mẫu Dessign - Các yếu tố của phần mềm hướng đối tượng tái sử dụng" đã bắt đầu tất cả. Nó chứa 23 mẫu.

3

Không có danh sách dứt khoát - cho có một khả năng rất có thể sẽ yêu cầu một số cơ quan để tuyên bố liệu một mô hình là một mô hình hay chỉ là một ... cái gì khác.

Một số mẫu có ý nghĩa chỉ trong một tập hợp con của ngôn ngữ - kinh điển GOF book tập trung vào Java (hoặc là C++? Sách trên bàn của tôi tại văn phòng) và một số mẫu được mô tả không phù hợp lắm ví dụ, Ruby hoặc VB6. Và ngược lại tất nhiên.

8

Câu trả lời ngắn: Số

Long trả lời: Bởi vì nếu ai đó thiết kế một cái gì đó, và nó có xu hướng được tái sử dụng bởi những người khác một "mẫu thiết kế" mới sẽ được vừa tạo (hoặc khám phá ??)

Trên thực tế số lượng các mẫu thiết kế trong các ứng dụng hiện có có thể rất lớn, nhưng chưa có ai phân loại chúng.

tôi sẽ thêm các liên kết trước hai:

http://martinfowler.com/eaaCatalog/

http://c2.com/ppr/

1

tôi sẽ nói rằng của Liên hiệp các danh sách trong Gang of Four sách và Fowler Patterns của Enterprise Arhitecture sẽ cung cấp cho bạn 99% những gì bạn cần biết.

4

Ý tưởng về các mẫu thiết kế được đặt ra bởi Christopher Alexander, trong khi viết về các mẫu kiến ​​trúc trong các tòa nhà và thị trấn. Tương tự như vậy, các mô hình đã nổi lên khi các kỹ sư đã đạt được nhiều kinh nghiệm hơn với các phương pháp thiết kế hướng đối tượng.

Không có một tập đoàn chính thức nào xác định mẫu là gì và không phải là mẫu. Tuy nhiên, các mẫu thường có vòng đời dài trước khi chúng được chấp nhận chung. Cộng đồng phát triển đang bắt đầu tham gia vào những thứ như PLOP (Pattern Languages ​​of Programs) và hội thảo hàng năm của họ: 2008 Conference, trong đó tập trung vào các tác giả mẫu và những người đam mê để thảo luận về chủ đề của mô hình và phát triển mẫu mới.

0

Không thể có danh sách cuối cùng. Không bao giờ.

Nếu bạn thấy một số giải pháp cho vấn đề - với bạn - có mẫu có thể được khớp, bạn đã phát hiện ra một mẫu thiết kế. Bạn luôn có thể tiếp tục làm điều này.

Mỗi giải pháp thông minh, mới có thể là nguồn gốc cho một giải pháp tương tự có chung một mẫu chung. Mẫu là thứ gì đó bạn sử dụng để tóm tắt và nắm bắt một giải pháp tuyệt vời cho một vấn đề.

Bộ não con người có thể tìm thấy các mẫu ở gần như mọi thứ. Đó là một điều chúng tôi làm mà không suy nghĩ về nó.

+0

"Bao giờ"? Có thật không? – Andrew

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