A topic that people are starting to think about more and
more often these days is the idea of a
PatternsTool that you
can use along with more conventional OO design tools and
languages to help you utilize patterns.
The ultimate
PatternsTool (to me) would work in forward and
reverse engineering mode. In forward engineering mode it would
help code your classes from a description of how classes would
interact.
For instance you might give the
PatternsTool a set of class names
and say "These classes are a composite -- this one's a composite class, these
over here are primitive classes, now generate me the class definitions
and method stubs to represent that."
In reverse-engineering mode it would look through your code and design
diagrams and tell you "You implemented a Chain of Responsibility here, etc."
Any thoughts?
--
KyleBrown
In the future I want to describe to my computer (by voice of course ;-) what to build. It will need to understand a language (alas, full english is just to ambiguous). I use to think that language would be a subset of english, but nowadays I wonder if a
PatternLanguage would do the trick.
However, I think that I am looking
far into the future here.
In the meantime, I think that it may be premature to suggest that
DesignPatterns have been taken far enough to start programming machines to
help us generate code using them. Then again, it may be my prejudices against
CaseTools talking here....
I like the reverse engineering bit though. Hmmm... I wonder how I could feed new
DesignPatterns to the tool...
--
ToddCoram
Since I originally wrote the above I've found out that there are several university groups working on different kinds of
PatternsTool. If you're interested, we've established a patterns-tool mailing list out of UIUC. Send email to
mailto:[email protected] to subscribe.