AntiPatterns


AntiPatterns

"AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis" [cite book
last=Brown
first=William J.
coauthors=Raphael C. Malveau, Hays W. "Skip" McCormick, Thomas J. Mowbray, Theresa Hudson (ed)
title = AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
publisher = John Wiley & Sons, ltd
year = 1998
isbn = 0-471-19713-0
] is a book about anti-patterns: 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 1990's.

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. [cite web |url=http://www.ddj.com/joltawards/prev_bks.htm |title=Previous Winners: Books |publisher=Dr. Dobbs Journal |accessdate=2008-04-06] [cite web |url=http://www.ddj.com/architect/184415703 |title=9th Annual Jolt and Productivity Awards |author=Alan Zeichick |publisher=Dr. Dobbs Journal |accessdate=2008-04-06] 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 patterns. 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

*cite journal |title=AntiPatterns |author=J. Moore |date=1999-02-01 |publisher=Association for Computing Machinery |journal=ACM Computing Reviews |url=http://www.reviews.com/review/fulltext_link.cfm?media_id=1032306&review_id=122012
*cite web |url=http://angelikalanger.com/Articles/Reviews/AntiPatterns/review.htm |title=Adding a New Facet to the Patterns Discussion |author=Angelika Langer |publisher= |accessdate=2008-04-06
*cite web |url=http://www.accu.informika.ru/accu/bookreviews/public/reviews/a/a002236.htm |title=AntiPatterns in Project Management by William J Brown |author=Francis Glassborow |publisher=ACCU |accessdate=2008-04-06
* Reviewed in C/C++ Users Journal July 1998 v16 n7 p63(2) by Marc Briand [http://www.ddj.com/cpp/184403518]

References

External links

* [http://www.antipatterns.com AntiPatterns.com] A web site maintained by the authors with several patterns defined and other related articles.
* [http://c2.com/cgi/wiki?AntiPatternsBook Anti Patterns Book] at WikiWikiWeb


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Anti-pattern — For the book, see AntiPatterns. In software engineering, an anti pattern (or antipattern) is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.[1][2] The term was coined in 1995 by Andrew Koenig,[3]… …   Wikipedia

  • Poltergeist (computer science) — In computer programming, a poltergeist (or gypsy wagon) is a short lived, typically stateless object used to perform initialization or to invoke methods in another, more permanent class. The original definition is by Michael Akroyd 1996 Object… …   Wikipedia

  • JUnit — Infobox Software name = JUnit caption = developer = Kent Beck, Erich Gamma, David Saff latest release version = 4.5 latest release date = release date|2008|08|08 operating system = Cross platform programming language = Java genre = Unit testing… …   Wikipedia

  • Concutest — is a specialized unit testing framework for the Java programming language. Created by Mathias Ricken while at the JavaPLT (Java Programming Languages Team) at Rice University, Concutest provides a set of unit testing like features for the… …   Wikipedia

  • JUnit — Тип Инструмент тестирования Разработчик Кент Бек, Эрик Гамма Операционная система Cross platform Последняя версия 4.11 (14 ноября 2012) Лицензия Common Public License …   Википедия

  • Law of the instrument — The concept known as the law of the instrument, Maslow s hammer, or a golden hammer is an over reliance on a familiar tool; as Abraham Maslow said in 1966, It is tempting, if the only tool you have is a hammer, to treat everything as if it were a …   Wikipedia

  • Architecture (informatique) — Pour les articles homonymes, voir Architecture (homonymie). Diagramme d architecture En informatique, architecture désigne la structure générale inhérente à un système informati …   Wikipédia en Français

  • Software architecture — The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. The term also… …   Wikipedia

  • Continuous obsolescence — or perpetual revolution is a phenomenon where industry trends, or other items that do not immediately correspond to technical needs, mandate a continual readaptation of a system; such work does not increase the usefulness of the system, but is… …   Wikipedia

  • Nikos Salingaros — Nikos A. Salingaros (born in Perth, Australia) is a mathematician and polymath known for his work on urban theory, architectural theory, complexity theory, and design philosophy. He has been a close collaborator of the architect and computer… …   Wikipedia