Software design pattern: Difference between revisions

Content deleted Content added
The previous editor, Spintendo, made an erroneous claim that the entry contained copyright material. There is no copyright violation – this material is from a more accurate but older version of this article (check the historical entries before March 2024). It was Coursehero which copied from Wikipedia.
I have restored the cited reference to bolster the article's validity and accuracy. This aligns the article's definition with how it is used in professional and academic contexts.
Line 1:
{{short description|Reusable solution to a commonly occurring software problem}}
 
In [[software engineering]], a '''software design pattern''' or '''design pattern''' is a general, [[reusability|reusable]] solution to a commonly occurring problem in many contexts in [[software design]].<ref>{{cite book |last=Alexandrescu |first=Andrei |date= 2001 |title= Modern C++ Design: Generic Programming and Design Patterns Applied |publisher=Addison-Wesley |page=xviii |isbn=978-0-201-70431-0 }}</ref> A design pattern is not a rigid structure that can be transplanted directly into [[Source code|source code]]. Rather, it is a description or a template for solving a particular type of problem that can be deployed in many different situations. Design patterns can be viewed as formalized [[best practice]]s that the programmer may use to solve common problems when designing a software application or system.
 
[[Object-oriented]] design patterns typically show relationships and interactions between [[class (computer science)|class]]es or [[object (computer science)|object]]s, 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.