Project DescriptionThe LOOM .NET project aims to investigate and promote the usage of AOP in the context of the Microsoft .NET framework.
The concept of aspect-oriented programming (AOP) offers an interesting alternative for the specification of non-functional component properties (such as fault-tolerance properties or timing behaviour), as well as other crosscutting concerns. These are implemented as so-called aspects and at some point "weaved" to the other functional parts of the software.
Rapier-LOOM.NET is a dynamic aspect weaver. It provides its functionality through an assembly which has to be linked to your .NET project. Aspect weaving happens during runtime. You can define aspect classes and interweave them with target classes by using a the weavers factory method
Create.

An
aspect class is a special .NET class with methods constructors and fields as well. At defined
join points an aspect class becomes interwoven with a
target class. Interweaving, strictly speaking, means that an aspect method will be interwoven with a target class method. The aspect method itself contains the aspect code and is defined within the aspect class. It has a special aspect method attribute applied. This aspect method attribute declares a method in the aspect class as an aspect method. Not necessarily every method in an aspect class is an aspect method and has this attribute applied. Methods without this attribute will not be considered for the weaving process.
Beside the aspect method attributes, Rapier-LOOM.NET defines nearly a dozen of pointcut attributes. These attributes are used to describe which methods should become interwoven with the aspect method. Examples for these attributes are
Include, Exclude and
IncludeAll.
A target class is a regular .NET class. The one and only restriction is that target class methods (which should become interwoven) either have to be virtual or to be defined via an interface. The weaving process will be initiated during runtime with a factory. Instead of using the new operator one uses the weavers factory method to produce interwoven objects.