AntiPatterns
Encyclopedia
AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis is a book about anti-pattern
s: specific repeated practices in software architecture
, software design
and software project management
that initially appear to be beneficial, but ultimately result in bad consequences that outweigh hoped-for advantages. This study covers several recurring problematic software-related patterns, the forces that inspire their repeated adoption, and proven-in-practice remedial actions, called refactored solutions. The authors are William Brown, Raphael Malveau, Skip McCormick, and Tom Mowbray; with Scott Thomas joining in on second and third books. Four of the five authors worked together at the MITRE Corporation
in the late 1990s.
Sometimes referred to as an "Upstart Gang-Of-Four" the authors were frequently (and often unfavorably) compared to the original Design Patterns by Gang of Four. This began with a favorable review and 1998 runner-up Jolt Productivity Award
given by Software Development Magazine. The controversy around this book, and the concept of an anti-pattern has been said to stem from a somewhat common misunderstanding that the authors were somehow opposed to design pattern
s. However the authors explained within the book itself that they are big fans of design patterns; their objective was to build on the concept by providing constructive means for dealing with the frequent "patterns of failure" they had professionally dealt with.
Anti-pattern
In software engineering, an anti-pattern is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.The term was coined in 1995 by Andrew Koenig,...
s: specific repeated practices in software architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...
, software design
Software design
Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...
and software project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...
that initially appear to be beneficial, but ultimately result in bad consequences that outweigh hoped-for advantages. This study covers several recurring problematic software-related patterns, the forces that inspire their repeated adoption, and proven-in-practice remedial actions, called refactored solutions. The authors are William Brown, Raphael Malveau, Skip McCormick, and Tom Mowbray; with Scott Thomas joining in on second and third books. Four of the five authors worked together at the MITRE Corporation
MITRE
The Mitre Corporation is a not-for-profit organization based in Bedford, Massachusetts and McLean, Virginia...
in the late 1990s.
Sometimes referred to as an "Upstart Gang-Of-Four" the authors were frequently (and often unfavorably) compared to the original Design Patterns by Gang of Four. This began with a favorable review and 1998 runner-up Jolt Productivity Award
Jolt Awards
The Jolt Awards are awards in the software industry.Since 1990, the Dr. Dobb's Jolt Product Excellence Awards have been presented annually to showcase products that have "jolted" the industry with their significance and made the task of creating software faster, easier, and more efficient.Jolt Cola...
given by Software Development Magazine. The controversy around this book, and the concept of an anti-pattern has been said to stem from a somewhat common misunderstanding that the authors were somehow opposed to design pattern
Design pattern
A design pattern in architecture and computer science is a formal way of documenting a solution to a design problem in a particular field of expertise. The idea was introduced by the architect Christopher Alexander in the field of architecture and has been adapted for various other disciplines,...
s. However the authors explained within the book itself that they are big fans of design patterns; their objective was to build on the concept by providing constructive means for dealing with the frequent "patterns of failure" they had professionally dealt with.
Reviews
- Reviewed in C/C++ Users Journal July 1998 v16 n7 p63(2) by Marc Briand http://www.ddj.com/cpp/184403518
External links
- AntiPatterns.com A web site maintained by the authors with several patterns defined and other related articles.
- Anti Patterns Book at WikiWikiWebWikiWikiWebWikiWikiWeb is a term that has been used to refer to four things: the first wiki, or user-editable website, launched on 25 March 1995 by Ward Cunningham as part of the Portland Pattern Repository ; the Perl-based application that was used to run it, also developed by Cunningham, which was the first...