English | Español
BeyondNet.Aop is a high-performance Aspect-Oriented Programming (AOP) framework for .NET 10. It allows you to cleanly separate cross-cutting concerns (like logging, error handling, retries, etc.) from your core business logic using native .NET DispatchProxy with heavy caching optimizations.
The documentation is organized into the following sections:
- 📖 Glossary: Understand the core concepts of AOP used in this framework.
- 🚀 Getting Started: A step-by-step guide to writing and using your first aspect.
- 🏗️ Architecture: Deep dive into how the interception pipeline and caching mechanisms work.
- 🧩 Components: Overview of the main packages and internal modules.
- 🛠️ Tools: Built-in tools and supported integrations (like Serilog and MS Dependency Injection).
To use the framework, you generally:
- Define a target interface and its implementation.
- Define a class inheriting from
AbstractAspect<T>containing your cross-cutting logic. - Decorate your target interface methods with the aspect attribute.
- Register the proxy in your DI container using the installer.
For detailed instructions and code examples, please see the Getting Started guide.
- High Performance: Uses
ConcurrentDictionaryto cache reflection calls and dynamic expression compilation (O(1) lookups). - Clean Code: Strict naming conventions and semantic exceptions.
- Native .NET: Built on top of
System.Reflection.DispatchProxywithout requiring complex post-compilation weaving tools. - Extensible: Easily plug in custom loggers or evaluation engines.