community
directory
books
authors
images
encyclopedia

Email:
Password:
Register

Knowledgerush Search

 

Google
  Web knowledgerush


Search for images of Design pattern (computer science)


Message boards   Post comment

Design pattern (computer science)

Design patterns are recurring solutions to problems in object-oriented design. The phrase was introduced to computer science in the 1990s by the text Design Patterns: elements of reusable object-oriented software. The scope of the term remained a matter of dispute into the next decade. Algorithms are not thought of as design patterns, since they solve implementation problems rather than design ones. Typically, a design pattern is thought to encompass a tight interaction of a few classes and objects.

Professor Christopher Alexander's work on a pattern language, for designing buildings and communities, was the inspiration for the design patterns of software.

Interest in sharing patterns in the software community has led to a number of books, symposiums, and the formation of Ward Cunningham's original wiki. The goal of pattern literature is to make the experience of past designers accessible to beginners and others in the field. A book of design patterns presents different solutions in a common format, to provide a language for discussing design issues.

Pattern Format

The design pattern format has four essential parts, although names and ordering differ by source:

Name

Every pattern needs a name, to provide a language for design discussion.

Problem

Recurring circumstances lead to the discovery of this pattern by multiple persons. A primary goal of design is to limit the amount of source change needed to change a program's observed behavior, but this can be difficult to achieve if a designer does not understand the implications of a design.

Solution

The solution is described sufficiently for implementation by novices, although the implementation is usually given in general enough terms that it can be adapted to different projects.

Consequences

Applying this solution will effect the rest of the project in certain ways, so it is important to mention any common negative or serendipitous side-effects.

Similar Terms

Poor (yet unfortunately common) solutions to common problems are sometimes known as anti-patterns.

See also amelioration pattern

A List of Design Patterns

Fundamental patterns

Creational patterns

Structural patterns

Behavioral patterns

Concurrency patterns

RealTime patterns

Related Topics

References

External links

Referenced By

Adapt to adapt | Comp.sc. | Computer Science | Computer Sciences | Computer Scientists | Computer scientist | Computing science | Delegation pattern | Design Pattern | Design pattern (disambiguation) | Design patterns | List of basic software engineering topics | List of important publications in computer science | List of software engineering topics | Model-view-controller | Model/View/Controller | Model view controller | Pattern | Persistence | Programmer's practice | Programming practice | Software Engineer | Software Engineering | Software Hut | Software design

 

Compose Your Message

Your Email Address or Pen Name (optional):
Subject:
Your Message:
 

 

 

 

 

 

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Design pattern (computer science)".

 

Contact UsPrivacy Statement & Terms of Use

 
Copyright © 1999-2003 Knowledgerush.com. All rights reserved.