MetalamaConceptual documentationUsing Metalama Patterns
Open sandboxFocusImprove this doc

Metalama Patterns

Metalama Patterns, housed under the Metalama.Patterns namespace, consist of libraries of aspects that implement the most common design patterns for C#.

Constructed by the Metalama team, these patterns uphold the same quality standard as the Metalama framework itself.


Metalama Patterns are released under the open-source MIT license and are available on GitHub.

The following libraries are currently available:

Library Description
Metalama Contracts Metalama Contracts implement Contract-Based Programming via preconditions, postconditions, and invariants. This aids in building maintainable, reliable, and scalable software systems.
Metalama Caching Metalama Caching combines object-oriented and aspect-oriented APIs.
Memoization A simple and high-performance alternative to caching limited to get-only properties and paramerless methods.
Injecting dependencies An aspect to automatically pull dependencies from fields and properties. Supports lazy loading.