Este documento introduce los conceptos básicos de la programación orientada a aspectos (AOP). Explica que AOP permite modularizar código transversal como transacciones, seguridad y logging mediante la definición de aspectos que se tejen en puntos de corte de métodos y clases. También compara diferentes técnicas de AOP como el uso de proxies dinámicos, modificación de código intermediario y frameworks como PostSharp.