Home

About Me

Documents and Papers

Architectures

Design Patterns
Creational
Behavioral
Structural

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 -

This site is W3C CSS Validated copyright Paul Austrem (c) 2007This site is W3C XHTML 1.0 Transitional Validated