Teach Time Encyclopedia - Learn About Our World
Home Page
Teach Time
Featured Topics

United States
by state

CITYology

Academic Disciplines

Historical Timelines

Themed Timelines

Calendars

Reference Tables

Biographies

How-tos



Friday, July 25, 2008

Design pattern (computer science)

Design patterns represent the accumulated knowledge of the community of software developers of standardised solutions to recurring problems.

They allow software developers to make use of the knowledge of past designers. Many design projects are confronted with similar problems that demand similar solutions. A design pattern is an abstraction of a solution for a particular class of problems. MVC or model view controller triad is a classical example of design pattern. It was introduced 1980 in the Smalltalk system.

The book that introduced the term design pattern to software development is Design Patterns: elements of reusable object-oriented software (commonly shortened to GoF -- Gang of Four a reference to the four authors) says:

Design patterns solve specific design problems and make object-oriented designs more flexible and elegant, and ultimately reusable. They help designers reuse successful designs by basing new designs on prior experience. A designer who is familiar with such patterns can apply them immediately to design problems without having to rediscover them.

In computer programming, the incredible gap in productivity between amateurs and experts is partly a difference in experience. Experts have weathered a variety of problems repeatedly. Typically experts end up with the same pattern to solve the problems as each other's. That is a design pattern. (GoF)

Each pattern comes up with the problem that happens again and again among programmers. Then it shows a typical solution for such a problem, if not the best solution, along with the trade-off, which is a convenient assessment to make prior to applying a potentially costly solution. It is important that patterns accompany a name because it makes possible to describe problems, solutions and talk about them with other folks.

For example the classical MVC pattern is actually a combination of three patterns listed below - Observer, Composite and Strategy. It is broadly used today.

Frequent problems that occur in programming are sometimes less commonly called anti-pattern.

See also amelioration pattern

Fundamental patterns

Creational patterns Structural patterns Behavioral patterns Concurrency patterns RealTime patterns Life cycle patterns Social / other

Table of contents
1 Related Topics
2 References
3 External links

Related Topics

References

External links



Internet Hotel Solutions

Site Sponsors
AC Units
Baltimore Harbor
Boot Camp Grads
Bra Size
Burkittsville
College Hotels
Digital Harbor
Free Cell Phones
Golden Hare Travel
Golf Vacations
Golf Courses
Gourmet
Hair Styles
Hippodrome
iWoman
Lesson Plans
Maryland Hotels
MD Genealogy
Minor League Stuff
Motel Site
Ocean City
OC Real Estate
Old Agers
Office Supplies
Orlando
Pet Friendly Hotel
Room Prices
Savannah, GA
Ski Vacations
South Baltimore
Student Teaching
Travel Sources
University Hotels
Visit Military Bases
Washington, DC

Brought to you by NoChildLeftBehind.com and the Beaches and Towns Network, LLC.