Software design pattern

In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Comment
enIn software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.
Has abstract
enIn software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design 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 mutable state may be unsuited for functional programming languages. Some patterns can be rendered unnecessary in languages that have built-in support for solving the problem they are trying to solve, and object-oriented patterns are not necessarily suitable for non-object-oriented languages. Design patterns may be viewed as a structured approach to computer programming intermediate between the levels of a programming paradigm and a concrete algorithm.
Hypernym
Solution
Is primary topic of
Software design pattern
Label
enSoftware design pattern
Link from a Wikipage to an external page
web.archive.org/web/20070617114432/http:/www.cix.co.uk/~smallmemory
archive.org/details/ejbdesignpattern00mari
www.cix.co.uk/~smallmemory/
archive.org/details/isbn_9780321247148
archive.org/details/patternsforparal0000matt
www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf
web.archive.org/web/20030801111358/http:/dreamsongs.com/NewFiles/PatternsOfSoftware.pdf
archive.org/details/remotingpatterns0000volt
docs.microsoft.com/en-us/dotnet/api/system.threading.interlocked%3Fview=net-5.0
Link from a Wikipage to another Wikipage
Abstract factory pattern
Abstraction principle (programming)
Active object
Adapter pattern
Addison-Wesley
Aggregate pattern
Algorithm
Algorithmic skeleton
Anti-pattern
Apress
Architectural pattern (computer science)
Artificial intelligence
Aspect-oriented programming
Asynchronous method invocation
Balking pattern
Behavioral pattern
Best practice
Binding properties pattern
Blackboard (design pattern)
Blackboard system
Boolean algebra
Bridge pattern
Builder pattern
Business logic
C++
Canonical protocol pattern
Category:Software design patterns
Category:Software development
Category:Software engineering
Chain-of-responsibility pattern
Christopher Alexander
Class (computer science)
Code Complete
Command pattern
Composite pattern
Compute kernel
Computer programming
Computer science
Concurrency pattern
Connection pool
Convolutional neural network
Copy-on-write
Creational pattern
C Sharp (programming language)
Debugging patterns
Decorator pattern
Dependency injection
Design pattern
Design Patterns
Design Patterns (book)
Design pattern Servant
Distributed design patterns
Documentation
Double-chance function
Double checked locking pattern
Dylan (programming language)
Enterprise Architecture framework
Erich Gamma
Event-Based Asynchronous Pattern
Facade pattern
Factory method pattern
Fluent interface
Flyweight pattern
Front controller
Functional programming
GPU
GRASP (object-oriented design)
Guarded suspension
Helper class
HTTP Switchboard
Indirection
Information visualization
Interaction
Interaction design pattern
Interaction diagram
Interpreter pattern
Iterator pattern
Java (programming language)
John Vlissides
John Wiley & Sons
Join-pattern
Joshua Bloch
Kent Beck
Lazy initialization
Lisp (programming language)
List of software development philosophies
List of software engineering topics
Lock (computer science)
Loose coupling
Machine code
Marker interface pattern
Martin Fowler (software engineer)
Matrix multiplication
Mediator pattern
Memento pattern
Messaging pattern
Module pattern
Monitor (synchronization)
Multiton pattern
Mutual exclusion
Null Object pattern
O'Reilly Media
Object (computer science)
Object-oriented
Object pool
Object pool pattern
Observer pattern
OOPSLA
Oxford University Press
Pattern (architecture)
Pattern language
Pattern Languages of Programming
Pattern-Oriented Software Architecture
Pattern theory
Paul Graham (computer programmer)
Pedagogical patterns
Peter Norvig
Portland Pattern Repository
Prentice Hall
Programming idiom
Programming paradigm
Prototype pattern
Proxy pattern
Ralph Johnson (computer scientist)
Reactor pattern
Refactoring
Resource Acquisition Is Initialization
Reusability
Richard Helm
Scheduler pattern
Scheduling (computing)
Singleton pattern
Software componentry
Software design
Software development methodology
Software engineering
Software reuse
Source code
Specification pattern
State pattern
Strategy pattern
Structural pattern
subscribe
Template method pattern
Thread pool
Thread pool pattern
Thread-Specific Storage
Twin pattern
Unified Modeling Language
User interface
Visitor pattern
Ward Cunningham
write lock pattern
SameAs
4546895-3
Designmönster
Designmønster
Design pattern
Design pattern
Design pattern
Disainimuster
Dizajn šema
Entwurfsmuster
Entwurfsmuster
kVaF
m.015zdr
Mẫu thiết kế phần mềm
Návrhový vzor
Ontwerppatroon
Ontwerpspatroon (rekenaarwetenskap)
Padrão de projeto de software
Padrón de deseño
Patró de disseny
Patron de conception
Patrón de diseño
Patrón de diseñu
Patrono de designo
Pola desain
Programtervezési minta
Projektavimo pavyzdys
Projektēšanas šablons
Q181156
Računarska dizajn šema
Software design pattern
Software design patterns
Suunnittelumalli
Tasarım örüntüleri
Wzorzec projektowy (informatyka)
Σχεδιαστικά πρότυπα
Бағдарламалық жасақтама өңдеу үлгісі
Пројектни узорци
Шаблони за дизайн
Шаблони проєктування програмного забезпечення
Шаблон проектирования
Նախագծման ձևանմուշներ
תבנית עיצוב
الگوی طراحی نرم‌افزار
نماذج التصميم (هندسة البرمجيات)
डिज़ाइन पैटर्न (कंप्यूटर विज्ञान)
வடிவமைப்புப் பாங்கு
ഡിസൈൻ പാറ്റേൺ (കമ്പ്യൂട്ടർ ശാസ്ത്രം)
ดีไซน์แพตเทิร์น
デザインパターン (ソフトウェア)
设计模式 (计算机)
소프트웨어 디자인 패턴
Subject
Category:Software design patterns
Category:Software development
Category:Software engineering
WasDerivedFrom
Software design pattern?oldid=1117368062&ns=0
WikiPageLength
44701
Wikipage page ID
164952
Wikipage revision ID
1117368062
WikiPageUsesTemplate
a
Template:Abbr
Template:Authority control
Template:Citation needed
Template:Cite book
Template:Design Patterns patterns
Template:Div col
Template:Div col end
Template:No
Template:Refbegin
Template:Refend
Template:Reflist
Template:Section link
Template:Short description
Template:Yes