The Core Framework provides foundational utilities and extensions that support all other DKNet components. These cross-cutting concerns are essential for building robust, maintainable applications.
- DKNet.Fw.Extensions - Framework-level extensions and utilities
The Core Framework sits at the foundation of the DKNet architecture, providing cross-cutting concerns that are used across all layers:
┌─────────────────────────────────────────────────────────────────┐
│ 🌐 Presentation Layer │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────┴───────────────────────────────────────┐
│ 🎯 Application Layer │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────┴───────────────────────────────────────┐
│ 💼 Domain Layer │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────┴───────────────────────────────────────┐
│ 🗄️ Infrastructure Layer │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────┴───────────────────────────────────────┐
│ ⚙️ Core Framework (Cross-cutting) │
│ │
│ • String Extensions • Type Extensions │
│ • DateTime Extensions • Enum Utilities │
│ • Encryption Services • DI Container Extensions │
│ • Async Extensions • Property Helpers │
└─────────────────────────────────────────────────────────────────┘
- Extension Methods: Comprehensive set of extension methods for common .NET types
- Type System Utilities: Advanced type checking and manipulation utilities
- Dependency Injection: Enhanced service registration and keyed service support
- String Encryption: Secure string encryption and decryption utilities
- Hashing Services: Consistent hashing algorithms for data integrity
- Async Enumerables: Enhanced async enumerable processing
- String Manipulation: Advanced string processing and validation
- Enum Utilities: Rich enum information extraction and processing
The Core Framework follows these key principles:
- Non-intrusive: Extensions that don't change existing behavior
- Performance-oriented: Optimized implementations for common operations
- Dependency-minimal: Minimal external dependencies to reduce coupling
- Cross-platform: Compatible across different .NET platforms
- Testable: All components are easily testable and mockable