IBM developerWorks has published my AOP myths and realities article. In this article, I examine the following common myths around AOP and discuss their realities. Do you have or have you heard of other myths? Let me know. Perhaps I can address them in another article:
Update: There is a good discussion of this article at TheServerSide.com.
- AOP is good only for tracing and logging
- AOP doesn't solve any new problems
- Well-designed interfaces obviate AOP
- Design patterns obviate AOP
- Dynamic proxies obviate AOP
- Application frameworks obviate AOP
- Annotations obviate AOP
- Aspects obscure program flow
- Debugging with aspects is hard
- Aspects can break as classes evolve
- Aspects can't be unit tested
- AOP implementations don't require a new language
- AOP is just too complex
- AOP promotes sloppy design
- AOP adoption is all or nothing