アスペクト指向

AOPいえば、個人的には「modularityの定義を変更すればAOPはmodularである」と主張する論文が非常に印象的でした。

AOP enables modular implementation of crosscutting concerns, and modular reasoning in the presence of crosscutting concerns. But it requires a change in how module interfaces are specified. With AOP interfaces are extended as aspects cut through the primary module structure. So a module's interface cannot be fully determined without a complete system configuration.

But crosscutting concerns inherently require global knowledge to support reasoning. Using AOP, programmers get modular reasoning benefits for crosscutting concerns whereas without AOP they do not.

(強調筆者)
CACMか何かにも誰かのツッコミコメントが載っていたように思います。