Aspect-Oriented Programming (AOP) addresses limitations in the Object-Oriented (OO) paradigm relating to modularisation of crosscutting behaviour. In AOP, crosscutting behaviour is expressed as aspects that are integrated with a base program through a weaving process. Many language-specific AOP models already exist, requiring the programmer to work with a single language for base and aspect programs. The NET framework, with its multi-language standards and architecture, has presented a new opportunity for cross-language AOP within NET. Advances have been made to take advantage of this opportunity, but at the expense of qualities such as the ability to debug executing code, or define some kinds of weaving capabilities. This paper describes an investigation into providing cross-language AOP in NET without making such compromises. The approach, called SourceWeave.NET, allows debugging because it weaves source code, and also provides an extensive weaving model. We describe what can be learned from SourceWeave.NET, in terms of both its benefits, and also its limitations.
更多
查看译文
关键词
Source Code,Object Graph,Intermediate Language,Instantiation Model,Common Language Infrastructure