Object-oriented design anti-patterns
From CSSEMediaWiki
(Difference between revisions)
JaninaVoigt (Talk | contribs) |
JaninaVoigt (Talk | contribs) m |
||
Line 4: | Line 4: | ||
*[[Anemic Domain Model]] - This anti pattern occurs when data and behavior is separated in the domain model. | *[[Anemic Domain Model]] - This anti pattern occurs when data and behavior is separated in the domain model. | ||
− | *[[BaseBean]] - This anti pattern occurs when inheritance | + | *[[BaseBean]] - This anti pattern occurs when inheritance for implementation is used; that is a class inherits from another class not because it makes sense semantically but because it wants to use methods defined in the superclass. |
*[[Call super]] - This anti pattern occurs when a superclass requires derived classes to call an overridden method. | *[[Call super]] - This anti pattern occurs when a superclass requires derived classes to call an overridden method. | ||
*[[Circle-ellipse problem]] - This anti pattern occurs when inheritance is not used correctly and the [[Liskov substitution principle]] is violated. | *[[Circle-ellipse problem]] - This anti pattern occurs when inheritance is not used correctly and the [[Liskov substitution principle]] is violated. |
Revision as of 01:37, 20 July 2009
Object-oriented design anti patterns describe bad design solutions to common problems. As such, they are essentially the opposite of conventional design patterns.
The following are common object-oriented design anti patterns:
- Anemic Domain Model - This anti pattern occurs when data and behavior is separated in the domain model.
- BaseBean - This anti pattern occurs when inheritance for implementation is used; that is a class inherits from another class not because it makes sense semantically but because it wants to use methods defined in the superclass.
- Call super - This anti pattern occurs when a superclass requires derived classes to call an overridden method.
- Circle-ellipse problem - This anti pattern occurs when inheritance is not used correctly and the Liskov substitution principle is violated.
- Circular dependency - This anti pattern occurs when there are two or more modules that depend directly or indirectly on each other.
- Constant interface
- God object
- Object cesspool
- Object orgy
- Poltergeists
- Sequential coupling
- Yo-yo problem
Many of these anti patterns are closely related to common design maxims.