Java Glossary : design patterns

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : D words : design patterns.

design patterns
familiar patterns that keep coming up in coding problems. After zooming in on the nuts and bolts and syntax of Java coding it's a help to zoom out and see ways of "extending" it to bigger problems. There is classic book on Object Oriented program design called
book_coverDesign Patterns
0-201-63361-2
Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
The publisher is Addison Wesley. Sometimes called "the gang of four book" They define design patterns as: descriptions of communicating objects and classes that are customised to solve a general design problem in a particular context. A design pattern names, abstracts, and identifies the key aspects of a common design structure that make it useful for creating a reusable object-oriented design. The design pattern identifies the participating classes and instances, their roles and collaborations, and the distribution of responsibilities. Easy to wrap your mind around, eh? Design Pattern people are in love with the power of abstraction and generality. You might even say they prefer to impress rather than inform. However, somehow you are going to have to learn this stuff, even if only to get into the heads of the guys who designed the AWT. Try starting with the code samples in the Design Patterns book.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverDesign Patterns Java Workbook
0-201-74397-3
Steven John Metsker
More approachable than the other Design Pattern books. You can look at the source code examples from the book.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverDesign Patterns In Java
0-471-25839-3
0-471-25839-3
A more accessible book, partly because the examples are all in Java and partly because he has less invested in persuading you how important and brilliant their discoverers are.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverJava Design Patterns
0-201-48539-7
James Cooper
A tutorial
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverApplied Java Patterns
0-13-093538-7
Stephen A. Stelting, Olav Maassen
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverJava Design: Building Better Apps and Applets
0-13-911181-6
Peter Coad, Mark Mayfield, Pete Coad and Jon Kern
A more general book, but does a better job of explaining how Java interfaces can be used to create better design patterns.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverData Modeling for Information Professionals
0-13-080450-9
Bob Schmidt and David Warren
Good at describing how to break problems down into an OO solution without any regards to implementation.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverJava in Practice : Design Styles and Idioms for Effective Java
0-201-36065-9
Nigel Warren and Phil Bishop
Good at describing how to break problems down into an OO solution without any regards to implementation.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverEssential Java Style: Patterns for Implementation
0-13-085086-1
Jeff Langr
It's not about the patterns people usually talk about (design, architecture etc) but about low-level coding patterns and good practices.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverCore J2EE Patterns: Best Practices and Design Strategies
0-13-064884-1
Deepak Alur, John Crupi, Dan Malks
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverObject-Oriented Programming and Java
981-308396-4
Danny C. C. Poo and Derek B. K. Kiong
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverRefactoring
0-201-48567-2
Martin Fowler, Kent Beck, John Brant, William Opdyke and Don Roberts
Discusses how reorganising code into standard patterns makes it easier to maintain. Highly recommended. Practical before and after examples of cleaning up stinking code.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de
book_coverEffective Java Programming Language Guide
0-201-31005-8
Joshua Bloch
No design patterns, just generic advice on good Java programming style.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de

book_coverObject-Oriented Design Heuristics
0-201-63385-X
Arthur J. Riel
Great book for arguing for easier-to-maintain architectures.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de

Standard patterns include:
Creational Patterns:Abstract Factory, builder, Factory Method, Prototype, Essence, Singleton.
Structural Patterns: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.
Behavioural Patterns: Chain Of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method and Visitor.
Model-View-Controller

J2EE also has design patterns that are documented in the book Core J2EE Design Patterns. These design patterns include:

book_coverCore J2EE Patterns: Best Practices and Design Strategies, Second Edition
0-13-142246-4
Deepak Alur
Design patterns to use in J2EE.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de

book_coverSmall Memory Software: Patterns for Systems with Limited Memory
0-201-59607-5
James Noble, Charles Weir
Techniques for conserving RAM in embedded systems and handheld devices. Much of this is the techniques used in the early computers with limited RAM.
amazon.com Barnes and Noble
amazon.ca chapters
amazon.co.uk amazon.de


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 8920.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/designpatterns.html J:\mindprod\jgloss\designpatterns.html