Anti patterns

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(Added link)
m (Redirecting to Antipatterns)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
While design patterns are often seen as good design solutions to a common problem, anti patterns are the opposite: bad solutions to a common problem.
+
#redirect [[Antipatterns]]
 
+
Anti patterns usually describe designs that look like a good idea at first but have negative effects when used. Because they look like an attractive solution, developers may be easily tempted to use them. To avoid this, they have been documented just like "positive" design patterns (in {{Ref|1}} for example).
+
 
+
The documentation of an anti pattern will often tell you why the bad solution looks good, what negative effects it causes if it's used and what positive pattern should be applied to solve the problem instead.
+
 
+
The term Anti Pattern was first coined in 1995 by Andrew Koenig who was inspired by the Gang of Four design patterns book. Anti patterns became more popular after the release of the book "Anti Patterns: refactoring software, architectures, and projects in crisis" ({{Ref|1}}) in 1998.
+
 
+
The authors of the Anti Patterns book distinguish an anti pattern from a simple bad practice or habit and state that two key-elements need to be present for an actual anti-pattern:
+
 
+
*"Some repeated pattern of action, process or structure that initially appears to be beneficial, but ultimately produces more bad consequences than beneficial results, and"
+
*"A refactored solution that is clearly documented, proven in actual practice and repeatable." (from {{Ref|3}})
+
 
+
There are many different anti pattern categories including:
+
* Organizational anti-patterns
+
* Project management anti-patterns
+
* Analysis anti-patterns
+
* Software design anti-patterns, and
+
* [[Object-oriented design anti-patterns]]
+
 
+
For a long list of common anti patterns, see {{Ref|2}} or {{Ref|3}}.
+
 
+
==References==
+
#{{Note|1}}William Brown, Raphael Malveau, Hays McCormick, and Thomas Mowbray. Anti Patterns: refactoring software, architectures, and projects in crisis. John Wiley and Sons, 1998.
+
#{{Note|2}} http://c2.com/cgi/wiki?AntiPatternsCatalog
+
#{{Note|3}} http://en.wikipedia.org/wiki/Anti-pattern
+

Latest revision as of 01:29, 20 July 2009

  1. redirect Antipatterns
Personal tools