Some of the reasons for anti-pattern spread are:
- Cut and Paste Development
- Unreadable Code
- Inexperienced Developers
Architectural Anti-Patterns:
- Excessive Logging - The disadvantages are [ Too Much design time is required, Complex Code, Speed(performance) may be affected ]
- Leak Collection - [ To avoid this, set unused objects to null. Otherwise, leaks might lead to Out of Memory Exception ]
Presentation Anti-Patterns
- Magic Servlet - It is the only servlet that does everything
- MonoLithic/Compound JSPs
- Overstuffed Session
EJB Anti-Pattern
- Everything is EJB
- Round-Tripping - To avoid this use Facade Pattern
- Stateful when Stateless will do