Wer sich schon mit Aspektorientierter Programmierung (AOP) beschäftigt hat, weiß die Vorteile von Aspekten zu schätzen. Sie helfen einem die querschneidenden Belange wie Logging oder Caching zentraler zu verwalten. Der Code wird modularer und dadurch leichter wartbar. Frameworks für einen AOP Ansatz unter .NET gibt es schon länger (PostSharp, Spring.NET ...). Microsoft selbst benutzt auch AOP Ansätze mit den Attributen. AOP kann im vereinfachten Sinne als eine Weiterentwicklung der Metaprogrammierung gesehen werden. Als neuestes Beispiel ist hier ASP.NET MVC zu nennen. In dem Post von Scott Gu für die Preview 4 stellt er einige neue Filter vor. Was hier als Filter bezeichnet wird, kann auch ganz einfach als Aspekt gesehen werden. Es wird Code in eine Komponente verlagert und kann zentral verwaltet werden. Das einweben des Codes - das Hinzufügen der Funktionalität - geschieht durch die Attributierung der Klassen und Methoden. Somit wird der agile und modulare Ansatz von ASP.NET MVC noch weiter unterstrichen.