Difference between revisions of "Software design pattern"
Karl Jones (Talk | contribs) (→See also) |
Karl Jones (Talk | contribs) (→See also) |
||
Line 25: | Line 25: | ||
* [[Anti-pattern]] | * [[Anti-pattern]] | ||
* [[Architectural pattern]] | * [[Architectural pattern]] | ||
+ | * [[Creational pattern]] | ||
* [[Debugging patterns]] | * [[Debugging patterns]] | ||
* [[Design pattern]] | * [[Design pattern]] |
Revision as of 13:34, 20 September 2016
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design.
Contents
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
- Abstraction principle (computer programming)
- Algorithmic skeleton
- Anti-pattern
- Architectural pattern
- Creational pattern
- Debugging patterns
- Design pattern
- Distributed design patterns
- Double-chance function
- Enterprise Architecture framework
- GRASP (object-oriented design)
- Helper class
- Interaction design pattern
- List of software development philosophies
- List of software engineering topics
- Model-view-controller
- Object-oriented programming
- Observer pattern
- Pattern
- Pattern language
- Pattern theory
- Pedagogical patterns
- Portland Pattern Repository
- Refactoring
- Software development methodology
- Software engineering
- Structure
External links
- Software design pattern @ Wikipedia