CSC/ECE 517 Fall 2009/wiki3 1 co: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 90: Line 90:
== References ==
== References ==


* [http://www.antipatterns.com/]
* [http://www.antipatterns.com/ www.antipatterns.com]
* W. J. Brown et al., [http://www.amazon.com/exec/obidos/ASIN/0471197130/theantipatterngr AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis], John Wiley & Sons, Inc., New York, NY, 1998.
* W. J. Brown et al., [http://www.amazon.com/exec/obidos/ASIN/0471197130/theantipatterngr AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis], John Wiley & Sons, Inc., New York, NY, 1998.
* S. Klement, [http://systeminetwork.com/article/anti-patterns-avoid-programming-dark-side Anti-Patterns: Avoid the Programming Dark Side], 2008
* S. Klement, [http://systeminetwork.com/article/anti-patterns-avoid-programming-dark-side Anti-Patterns: Avoid the Programming Dark Side], 2008

Revision as of 03:57, 17 November 2009

Software Design Anti-Patterns

  Not all patterns are good. Anti-patterns are patterns that initially seem effective, but over time you learn that they lead you into traps. 
      - Scott Klement, Anti-Patterns: Avoid the Programming Dark Side

In this article, we will describe several software design patterns which have been categorized as "anti patterns": Programming approaches which are not uncommon and which can lead to poor program design and performance.

What are Anti-Patterns?

text

Considerations When Writing Anti-Patterns

text

Anti-Pattern Examples

text

The Blob or God Class

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Lava Flow

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Poltergeists

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Golden Hammer

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Spaghetti Code

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Cut-and-Paste Programming

Anti-Pattern Problem

text

Refactored Solution

text

Example

text

Conclusion

text

References