Slide 8 of 44
Where patterns generally assume a specific context comprised of few, if any, pre-existing concerns which affect the design of a system, experience has demonstrated that situations with legacy and existing problems are much more commonplace in practice.
In contrast to Design Patterns, AntiPatterns, start with an existing negative solution or legacy approach, such as may be the result of a manager or developers ignorance or inexperience in solving a particular type of problem, or perhaps having applied a perfectly good design pattern in a wrong context.
The AntiPattern then amplifies the negative solution in a way that helps organizations recognize and understand a problematic situation, its symptoms, and its ultimate consequences.
The AntiPattern then presents a common solution that refactors the system to maximize benefits and minimize consequences.