What is the relationship between AOP and XP (extreme programming AKA agile methods)?
From a question on the user list: > Anyone know the connections between AOP and Extreme Programming? > I am really confused. It seems AOP is a programming paradigm, which > is the next level of abstraction of OOP. Extreme Programming, however, > this is a lightweight software development process. One of the common > motivations of AOP and XP is designed to adopt to the requirement > changes, so that it can save the cost of software development. This is Raymond Lee’s answer: You’re not really that confused. AOP and XP are orthogonal concepts, although AOP can be used to help accomplish XP goals. One of the goals of XP is to respond to changing requirements. Another is to reduce the overall cost of development. These are not necessarily the same thing. One of the principles of XP that contribute to meeting those goals is to maintain clean, simple designs. One of the criteria for clean, simple designs is to factor out duplication from the code. Benefits of removing duplication include the