Towards a central repository of Design Patterns

An authoritative central repository of Design Patterns does not exist.  There is a book called The Pattern Almanac 2000 by Linda Rising however this is no more than an index of patterns - nothing of substance except a one line descrtipion.  And furthermore, it leaves out hundreds if not thousands of patterns - scattered across books, websites and people's code. 

Latest News (March 2009): There is a new project starting up - more information can be found by contacting Paris Avgeriou and Uwe Van Heesch

Prerequisites for a repository

Any new effort needs to have broad support and a way of contributing without having to go through vetting.  This way people can contribute their own patterns and the project can utilise the community.  Better to have too many patterns than not enough.  Perhaps a "moderated" category could be added for higher quality entries.

  • A specific "template" for inserting patterns would be a must.
  • A UML diagram (png) - also a must.
  • Code sample (any language / psuedo code) - highly desirable.  
  • You could have a page of thumbnails of uml diagrams - very enticing way to browse the repository.
  • Drop down tags for type of pattern - architectural, design, coding idiom.
  • Tags for related patterns - not sure how the references would work, perhaps like a wiki, so each pattern should have a unique id (no spaces).  e.g. Observer or MVC or NullObject etc.

On the copyrighted design pattern material in books

Getting all the patterns from published design patterns books would be a boon - even if we could at least get the basic UML and idea of each pattern - and leave the copyrighted content alone.  Existing patterns books are a huge source of material if we could mine them.  It could perhaps be pitched to authors as a way of stimulating book sales since people who want to learn more could buy the book via the usual link to Amazon etc.

Other ideas

It might be good to see the existing class libraries of the programming languages (e.g. Java, .NET, Python, Delphi and PHP) mined for patterns - and there is a real opportunity there to form pattern languages of how these patterns fit together within the one language platform. 

The repository should include architectural patterns, design patterns and language and coding patterns (sometimes known as idioms) - forming a wonderful continuum of detail.  Of course the essential ideas in the deep implementation detail would probably be found at the high level and vice vera, such is the nature of reality. :-)

Links

In the absence of a central repository, here are some links to lists of design patterns and books.  I will try to maintain and grow this as much as I can.  Please add your own links as comments.

Amazon.com: The Pattern Almanac 2000: Linda Rising: Books

A list of GOF patterns including part-whole and view-handler

A Theoretically-based Process for Organizing Design Patterns

Hillside.net - Online Pattern Catalog

A pretty good list from Hillside

 

More coming soon - this is a new initiative (Feb 2009).

Additional Links:

Posted by KonstantinMiller on
Hello. I think the article is really interesting. I am even interested in reading more. How soon will you update your blog?
Posted by Guadalupe on
I don't leave feedback on sites tcayiplly but I had to leave a comment on yours. You write with a lot of interest. It has been a terrific read. Thanks a lot for sharing with us
Posted by Kiana on
If time is money you've made me a weeahtilr woman. http://avyuxm.com [url=http://djdtbvjjnrl.com]djdtbvjjnrl[/url] [link=http://cphxwcqvwqk.com]cphxwcqvwqk[/link]
Posted by Novi on
I don't leave comments on blog posts usaully however I had to comment on yours. You write with such interest. It has been an awesome read. Thanks for posting
Posted by RichardVom on
cvv shop admin
cvv valid
cvv shop selling worldwide cvv
[url=http://c2bit.online]no cvv shops[/url]
cvc online shopping
buy cvv good
Leave a Reply



(Your email will not be publicly displayed.)


Captcha Code

Click the image to see another captcha.