I just looked at the code, and I'd like to discuss something.
Im not sure about the source and type attributes. Although the type
attribute might add some useful information in the realms of
structural or creational, non GoF patterns might fall in none of those
categories, or even several. I feel when you introduce an exclusive
type of some sort, it should be orthogonal, or close to it.
I also have doubts about the semantics of the source attribute. Does
it mean where it is first published? The patterns in GoF or Pattern
Oriented Software Architecture are published and discussed in many
places. And as a reference, the GoF book might not be the best read.
Maybe we should add an attribute, so that the programmer can add a
reference. This way, collegues who do not understand the pattern can
refer to some site or book.
This also goes for the package structure. "gof" as a packagename,
really limits the options for future packages.
I was reluctant to send these comments, because I don't have 'better'
options at hand, but I feel at least we should discuss it.
And I think one of the first steps we have to make is compile a
shortlist of a variety of patterns, so we can get a first impression
what is all out there, which ones we wil focus on first and how we can
fit them in a logical structured system.
That's it for me now! Time for some strat abuse.
Regards,
Alex
do you have an github account? I can add you to the project if you'd like.
Regarding the gof thing. You're right, there are several orthogonal things for describing a pattern. But for structuring the packages (and not having every pattern in the root package, I think we should keep that package name.
We add all the orthogonal stuff to the DesignPattern annotation and/or to the JavaDoc of the Pattern annotation itself (@see attribute for books - wikipedia book thingi, and URLs).
Cheers
Michael
Regards Heinz -- Dr Heinz M. Kabutz (PhD CompSci) Author of "The Java(tm) Specialists' Newsletter" Sun Java Champion http://www.javaspecialists.eu Tel: +30 69 72 850 460 Skype: kabutz