To really describe patterns well requires some UML. I'll see how I can do with text: The most popular pattern is the Singleton Pattern. This is where you have only one instance of a class. Usually, there is a method called getInstance() or getSingleton() or something similar. It will have a static variable that starts off as null and when getInstance is called it tests for the null. If null, a new instance is created and returned. Otherwise, the current instance is returned. This way, you are guaranteed that there will always be one instance. Maybe we should start a new thread for each pattern? I could do a few more. Factory, Decorator, State and Strategy come to mind.
UML is where you draw pictures that represent classes, objects, methods, etc. If you are trying to describe some OO data construct, it's a lot easier with UML. UML is the language of modern software architects. This is the best way to move an architectural idea from your head to someone else's head. Patterns help even more. Rather than taking ten minutes to describe, say, a decorator pattern to someone, you just say "we'll use a decorator pattern".
A neat new tool to do class diagrams and reverse/forward engineering that I just discovered is JaVISION from Object Insight. You can get a trial version from www.object-insight.com. It doesn't include all the functionality of a Together/J or Rose, but is simple, quick, and very easy to use (and puts out some great class diagrams).
<B>Rich Wardwell</B><BR> <A HREF="mailto:email@example.com" rel="nofollow">firstname.lastname@example.org</A> <BR>Sun Certified Programmer for the Java 2 Platform