These namespaces implement common design patterns you can apply to your code using Metalama aspects.
| Namespace | Description |
|---|---|
| Metalama.Patterns.Caching | Implements method result caching with support for cache invalidation, dependencies, and distributed caching backends. |
| Metalama.Patterns.Contracts | Provides precondition and postcondition contracts (e.g., [NotNull], [NotEmpty], [Range]) for parameter and return value validation. |
| Metalama.Patterns.Observability | Automatically implements INotifyPropertyChanged and INotifyPropertyChanging interfaces for observable properties. |
| Metalama.Patterns.Immutability | Enforces immutability constraints on types and their members. |
| Metalama.Patterns.Memoization | Caches the result of property getters or parameterless methods within the object instance. |
| Metalama.Patterns.Wpf | Provides WPF-specific patterns including dependency properties and commands. |
For conceptual documentation, see Metalama Patterns.