Design Patterns: Format
What is the Format?
Variations on a Theme
References
Previous Page: Design Patterns
Next Page: Creational Category
What is the Format?
"At the moment when a person is faced with an act of design, he does not have time
to think about it from scratch"
from Christopher Alexander's 'The Timeless Way of Building'
The quote by Alexander above illustrates
two points about design patterns - firstly it outlines one of the foundational principles
upon which they exist. They enable designers to solve problems without having to
think about them from scratch every time. Secondly, for this to be possible there
must be an agreed upon manner in which this can be communicated between designers.
So we need a formal specification, or a Format that allows this to be communicated.
The GoF has for a long time been the standard reference for representing design
patterns, since their book was the first book to present design patterns for software.
Thus this website uses their work as the basis for representing patterns, however
it uses a slightly modified format, this will be outlined where appropriate.
The format consists of the following:
Pattern name and classification - presents the common name of the
pattern and its classification (Creational, Behavioral, Structural).
Intent - is not used
Also known as - is not used
Motivation - this is a story or "scenario" [4]
that frames a design problem and describes how the object-oriented constructs of
the pattern aid in resolving the design problem. "The scenario will help you understand
the more abstract description of the pattern..." [4]
Applicability - presents poor design solutions that may benefit
from the pattern
Participants - describes textually all the classes and objects
that participate in realizing the design pattern
Collaborations - is not used
Consequences - details the trade-offs incurred by using this pattern.
On this website the focus will explicitly and more heavily focus on the non-functional
requirements since these are considered more important in the context of mobile
information systems
Implementation - presents any language or technology specific limitations.
This website will not describe these as all implementation will be done in either
Java or Java ME - however where differences exist between the two aforementioned
languages this will be duly presented.
Sample Code - self-explanatory. All code will be presented in the
font of "Courier New"
Known Uses - will not normally be used - although some referencing
to GoF or other books that provide real applications of the patterns may be provided
Related Patterns - presents any patterns that resolve the same
or similar functional requirements. Naturally the non-functional trade-offs will
then differentiate the various patterns
-
to top -
References
[1]Alexander, Christopher:
Notes on the Synthesis of Form,
Harvard University Press.1964
Amazon
[2]Alexander, Christopher: A Pattern
Language
Oxford University Press, USA 1977
Amazon
[3]Alexander, Christopher:
The Timeless Way of Building
Oxford University Press, USA. 1979
Amazon
[4]Gamma, Erich., Helm, Richard., Johnson, Ralph. and Vlissides,
John:
Design Patterns: Elements
of Reusable Object-Oriented Software.
Addison-Wesley Professional. 1st edition 1995.
Amazon
- to top -
|