Java Reference
In-Depth Information
SMALLTALK
ORIENTED
The Design Patterns Smalltalk Companion
Sherman R. Alpert
Kyle Brown
Bobby Woolf
Smalltalk Best Practice Patterns
Kent Beck
JAVA ORIENTED
Java™ Design Patterns: A Tutorial
James W. Cooper
Patterns in Java™, Volume 1
Mark Grand
COMPENDIA
The Pattern Almanac 2000
Linda Rising
Pattern Languages of Program Design
James O. Coplien
Douglas C. Schmidt
Pattern Languages of Program Design 2
John M. Vlissides
James O. Coplien
Norman Kerth
Pattern Languages of Program Design 3
Robert C. Martin
Dirk Riehle
Frank Buschmann
Pattern Languages of Program Design 4
Neil Harrison
Brian Foote
Hans Rohnert
Design Patterns describes 23 design patterns—that is, 23 ways of pursuing an intent, using
classes and objects in an object-oriented language. These are probably not absolutely the most
useful 23 design patterns to know. On the other hand, these patterns are probably among the
100 most useful patterns. Unfortunately, no set of criteria establishes the value of a pattern,
and so the identity of the other 77 patterns in the top 100 is a mystery. Fortunately, the authors
of Design Patterns chose well, and the patterns they document are certainly worth learning.
GoF
You may have noted the potential confusion between design patterns the topic and
Design Patterns the topic. To distinguish between the topic and the topic title, many
speakers and some writers refer to the topic as the "Gang of Four" topic or the
"GoF" topic, referring to the number of its authors. In print, this distinction is not so
confusing. Accordingly, this topic avoids using the term "GoF."
Why Java?
This topic gives its examples in Java because Java is popular and important and will probably
be the basis of future generations of computer languages. The popularity of a language is
recursive. Developers invest their learning cycles in technology that they believe will last for
at least a few years. The more popular a technology becomes, the more people want to learn
it, and the more popular it becomes. This can lead to hype , or overexcitement about
a technology's potential value. But Java is more than hype.
At a superficial level, Java is important because it is popular, but Java is also popular because
it is a stride forward in computer languages. Java is a consolidation language , having
absorbed the strengths and discarded the weaknesses of its predecessors. This consolidation
has fueled Java's popularity and helps ensure that future languages will evolve from Java
Search WWH ::




Custom Search