Difference between revisions of "Software design pattern"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(See also)
(External links)
 
(3 intermediate revisions by the same user not shown)
Line 21: Line 21:
 
== See also ==
 
== See also ==
  
* [[Abstraction principle]]
+
* [[Abstraction principle (computer programming)]]
 
* [[Algorithmic skeleton]]
 
* [[Algorithmic skeleton]]
 
* [[Anti-pattern]]
 
* [[Anti-pattern]]
 
* [[Architectural pattern]]
 
* [[Architectural pattern]]
 +
* [[Creational pattern]]
 
* [[Debugging patterns]]
 
* [[Debugging patterns]]
 
* [[Design pattern]]
 
* [[Design pattern]]
Line 51: Line 52:
  
 
* [https://en.wikipedia.org/wiki/Software_design_pattern Software design pattern] @ Wikipedia
 
* [https://en.wikipedia.org/wiki/Software_design_pattern Software design pattern] @ Wikipedia
 +
* [https://www.oreilly.com/ideas/5-reasons-to-finally-learn-design-patterns 5 reasons to finally learn design patterns] @ oreilly.com
 +
** Make your life easier by not reinventing the wheel
 +
** Improve your object-oriented skills
 +
** Recognize patterns in libraries and languages
 +
** Use the power of a shared vocabulary
 +
** Find truth and beauty
  
 
[[Category:Computer science]]
 
[[Category:Computer science]]
Line 57: Line 64:
 
[[Category:Software]]
 
[[Category:Software]]
 
[[Category:Software development]]
 
[[Category:Software development]]
 +
[[Category:Software design patterns]]
 
[[Category:Web design and development]]
 
[[Category:Web design and development]]

Latest revision as of 08:08, 18 October 2016

In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design.

Description

A design pattern is a description or template for how to solve a problem that can be used in many different situations.

Patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.

Patterns that imply object-orientation or, more generally, mutable state, are not as applicable in functional programming languages.

Not a finished design

A design pattern is not a finished design that can be transformed directly into source code or machine code.

Design patterns in other fields

The concept of design patterns originated in architecture, and subsequently spread to other fields.

See also

External links