Anti-patterns, also referred to as pitfalls, are classes of commonly-reinvented bad solutions to problems. They are studied, as a category, in order that they may be avoided in the future, and that instances of them may be recognized when investigating non-working systems.
The term originates in computer science, apparently inspired by the Gang of Four's Design Patterns book, which laid out examples of good programming practice. The authors termed these good methods "design patterns", by analogy with the term as used in architecture. "Anti-patterns", as described in the book by Brown, Malveau, McCormick and Mowbray, are a natural counterpart, though not mentioned in the original Design Patterns book. Part of good programming practice is the avoidance of anti-patterns.
The concept is readily applied to engineering in general, and also applies outside engineering, in any human endeavour. Although the term is not commonly used outside engineering, the concept is quite universal.
More on [ Anti-pattern ]
Object Oriented :: Languages
Object Oriented :: Software

A CommonPatternLanguage of OrganizationalPatterns - This ThoughtsWeaver site is the official repository for the editorial effort to build a CommonPatternLanguage of OrganizationalPatterns that will be published in a forthcoming Prentice - Hall book. Four friends are collaborating as editors on the work: SteveBerczuk, JimCoplien, MartineDevos, and NeilHarrison.
A Pattern Language for Relational Databases and Smalltalk - Includes architectural, static, dynamic, and client-server patterns for integrating Smalltalk and RDBMSs.
Meta Description: [
An HTML 2.0 Pattern Language - A work-in-progress to describe patterns of HTML development.
An Introduction To Process Patterns White Paper - Introduces the concept of process patterns, reusable building blocks from which an organization may tailor an object-oriented software process. Process patterns bring reuse and consistency to the entire OO software process (OOSP). By Scott W. Ambler, AmbySoft Inc.
Analysis Patterns - Patterns developed by Martin Fowler; a specialist in object-oriented software, building business objects, the UML, patterns, author of Analysis Patterns and UML Distilled books. The site has a collection of links to related subject areas.
Arcus Patterns for Business Information Systems - Contains pattern papers on exception handling, database access, client/server UI design and design in general for the domain of business information systems.
Big Ball of Mud - An examination of this most frequently deployed of software architectures. A casually, even haphazardly, structured system, the organization of which is dictated more by expediency than design.
Meta Description: [ While much attention has been focused on
high-level software architectural patterns,
what is, in effect, the de-facto standard software architecture is seldom discussed. This
paper examines the most frequently deployed architecture:
the BIG BALL OF MUD ]
Chris Ruel's Object Technology Website - Design patterns, Model-Driven Architecture, object-oriented methodology, and best practices.
Christopher Alexander and Information Systems Failures - A paper that looks at how the work on architectural patterns can be of value to the designers of object-oriented systems, by C. Kimble and W. Selby. Includes links.
Meta Description: [ This page links to William Selbys project on Evaluating Information Systems using Christopher Alexander's Notes on the Synthesis of Form. ]
Classic Design Pattern Solutions - A collection of patterns that can be used to describe classic solutions to common object oriented design problems.
Common Ground - A pattern language for designing user interfaces and other artifacts.
Meta Description: [ A pattern language for designing user interfaces and other artifacts. ]
Demeter - Information on Adaptive Programming including links, books, and papers. (Karl J. Lieberherr)
Meta Description: [ How to write more flexible and shorter programs ]
Design Patterns - A collection of design patterns, papers, FAQ, and links.
Meta Description: [ raves, rants, reflections on technology and life ]
Design Patterns - Complete and working Java programs with output example shown.
Meta Description: [ Java Design Patterns ]
Design Patterns and Pattern Languages - Pattern information and tutorials by Douglas C. Schmidt.
Design Patterns in Dynamic Programming - Tutorial for using classic design patterns, by Peter Norvig.
Design Reuse In SE/HCI - Reuse techniques in HCI - Pattern languages For Usability (MVC, Safety, Internationalisation). Also, software development and learning about patterns.
Meta Description: [ Michael Mahemoff's Homepage - Software, Psychology, HCI, Patterns, Homepage---Human-Computer Interaction, software development,
design patterns, architecture ]
Diemen Repository of Interaction Design Patterns - Open source (Wiki) collection and collaboration site focused on creating and extending patterns for screen design, with a focus on Interaction Design and Usability.
Evolving Frameworks - A pattern language for developing object-oriented frameworks.
Experiences - Article by Todd Coram and Jim Lee. A pattern language that can be used to generate user centered software designs.
Formal And Precise Software Patterns Representation Languages - An annotated bibliography of articles describing research in the formalization of design patterns, including formal languages, tools supporting the implementation and synthesis of patterns, and position papers.
Meta Description: [ Formal And Precise Software Patterns Representation Languages Page ]
Hypermedia Design Patterns Repository - Provides reusable design experience gathered by other designers of hypermedia and Web applications. Includes discussions and papers.
Meta Description: [ Would you like to build a cool web site or a hypermedia off-line application? This site could be a useful mean for everyone (researcher, professional or student) searching patterns for designing multimedia and hypertext ]
Implementing the Singleton Pattern in Java - An article by Rod Waldhoff with sample source code.
Interaction Design Patterns Page, The - Resources related to pattern languages for interaction design, including user interface design.
Java Design Patterns - List the most applicable Java design patterns with sample code and explanation. A completely free learning site.
Meta Description: [ a list of java design patterns with code examples. ]
JUnit Test Patterns in Rational XDE - Describes using how to create patterns for the JUnit eXtreme Programming automated testing framework, by Frank Hagenson.
Meta Description: [ How to use Rational XDE to create a pattern for JUnit. ]
Learning Guide To Design Patterns - A learning guide for those who want to learn and use design patterns, rather than just read about them.
Meta Description: [ Industrial Logic: Object-Oriented Design & Development, Patterns, CORBA, Interactive & Internet Programming. ]
Lord Of The Flies - Describes a going native organizational pattern for improving software development productivity.
MetaPatterns - Present a new approach to design patterns, by Moisés Daniel Díaz Toledano. Includes links.
Much Ado About Patterns - An article from ACM Crossroads on patterns with special emphasis on design patterns, a type of pattern often used in software design.
Meta Description: [ Introduction to patterns and design patterns in object-oriented programming. ]
Pattern Depot - Categorized collection of patterns submitted by users.
Pattern Languages of Programs (PLoP) Conference - Information about forthcoming and past PLoP conferences.
Pattern Tools - Tool support for object-oriented (design) patterns.
Patterns and Software: Essential Concepts and Terminology - Comprehensive introduction to patterns by Brad Appleton.
Patterns for Object/Relational Database Access - Contains patterns, links and literature on object/relational database access layers.
Meta Description: [ This pages contains an overview of patterns for object/relational access layers ]
Patterns Home Page - This a wonderful resource for all things Patterns (and Anti-Patterns).
Meta Description: [ >The Hillside Group is a nonprofit corporation dedicated to improving human communication about computers by encouraging people to codify common programming and design practice. We sponsor conferences like PLoP, EuroPLoP, UP, ChiliPLoP, Mensore PLoP, KoalaPLoP and SugarLoafPLoP ]
Patterns of Enterprise Messaging - Software patterns describing how to achieve Enterprise Integration using Enterprise Messaging (JMS with Java and MSMQ with C#)
Meta Description: [ Patterns of Enterprise Messaging Systems ]
Patterns-discussion FAQ - This is not a FAQ in the usual sense. It contains very brief summaries of topics that have been discussed on the patterns-discussion list, in question and answer format.
Patterns: A Way to Reuse Expertise - By Linda Rising, AG Communications System (AGCS). Published in IEEE Communications Magazine, Vol 37 No. 4, April, 1999.
Portland Pattern Repository - Very useful pattern information. Includes articles as well as discussions in the form of the WikiWikiWeb.
Software Technologies - Design Patterns - Software Design Pattern techniques, papers, references and catalogues for professional software developers.
Meta Description: [ Software Design Pattern techniques, papers, references and catalogues for professional software developers. ]
Some Notes On Christopher Alexander - A summary of Alexander's contributions to several fields including the use of patterns in programming.
The Design Patterns Toolkit - A toolkit to design applications using design patterns, with facility to generate code, and reverse engineering. Drag and Drop facility to create UML Class diagrams Support to write custom plug-ins for code generators and reverse engineering. [Open source, GPL]
Unix Shell Patterns - A collection of idioms for Unix shell programming
Visitor Pattern (Dual Dispatch without Multimethods) - Simple example of a problem that the Visitor pattern can solve, with a code example in Java, avoiding switch statements and downcasts.
Meta Description: [ Sometimes it seems you just have to use switch statements and downcasts. What is an OOPer to do? ]
Welie.com: Interaction Design Patterns - A collection for various user interfaces. Includes background information and links to other collections.
Why a Duck - An introduction to polymorphism and design patterns, by John Brewer. Includes links and source code.
| Initial treatment of TN is usually by means of anti-convulsant drugs, such as Tegretol or Neurontin. Some anti-depressant ... | |
| Next Video | |