https://github.com/biyonik/nimblearch
🚀 High-performance, unconventional .NET 8 API skeleton with custom implementations. No standard patterns - unique architecture focusing on performance using modern approaches like Expression Trees, Source Generators. 🔥 Standart yaklaşımlardan uzak, performans odaklı .NET 8 API iskeleti. Expression Trees, Source Generators gibi modern yaklaşımlar
https://github.com/biyonik/nimblearch
api-design api-skeleton api-template architectural-patterns boilerplate clean-architecture clean-code csharp custom-pattern dotnet-core dotnet8 enterprise enterprise-architecture expression-trees high-performance microservices modern-dotnet performance-optimization rest-api source-generator
Last synced: 11 months ago
JSON representation
🚀 High-performance, unconventional .NET 8 API skeleton with custom implementations. No standard patterns - unique architecture focusing on performance using modern approaches like Expression Trees, Source Generators. 🔥 Standart yaklaşımlardan uzak, performans odaklı .NET 8 API iskeleti. Expression Trees, Source Generators gibi modern yaklaşımlar
- Host: GitHub
- URL: https://github.com/biyonik/nimblearch
- Owner: biyonik
- Created: 2025-02-13T16:50:12.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-13T19:29:28.000Z (about 1 year ago)
- Last Synced: 2025-02-13T20:29:57.132Z (about 1 year ago)
- Topics: api-design, api-skeleton, api-template, architectural-patterns, boilerplate, clean-architecture, clean-code, csharp, custom-pattern, dotnet-core, dotnet8, enterprise, enterprise-architecture, expression-trees, high-performance, microservices, modern-dotnet, performance-optimization, rest-api, source-generator
- Language: C#
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NimbleArch
[English](#english) | [Türkçe](#turkish)
---
## English
### High-Performance .NET Architecture Template
NimbleArch is a cutting-edge, high-performance .NET architecture template that challenges traditional patterns and focuses on maximum performance through innovative approaches.
### Key Features
- **Custom Validation Engine**: Built using Expression Trees and IL emission for compile-time validation, eliminating runtime reflection costs
- **Advanced Data Access**: Hybrid approach combining the best of CQRS and Event Sourcing with optimized query performance
- **Compile-time Dependency Resolution**: Using source generators to create a dependency graph at build time
- **Zero-Copy Operations**: Extensive use of modern .NET features like Span and ArrayPool
- **Modular Architecture**: Clean and modular design with high-performance considerations
- **Performance Metrics**: Built-in benchmarking and performance testing capabilities
### Project Structure
```
NimbleArch/
├── src/
│ ├── NimbleArch.Core/ # Domain entities, interfaces
│ ├── NimbleArch.Infrastructure/ # Data access, external services
│ ├── NimbleArch.Application/ # Application logic
│ ├── NimbleArch.SharedKernel/ # Cross-cutting concerns
│ ├── NimbleArch.Generators/ # Custom source generators
│ └── NimbleArch.Api/ # API endpoints
├── tests/
│ ├── NimbleArch.UnitTests/
│ ├── NimbleArch.IntegrationTests/
│ └── NimbleArch.PerformanceTests/ # Benchmark tests
└── tools/ # Build scripts, tools
```
### Getting Started
1. Clone the repository
```bash
git clone https://github.com/yourusername/NimbleArch.git
```
2. Install dependencies
```bash
dotnet restore
```
3. Run the application
```bash
dotnet run --project src/NimbleArch.Api
```
### Performance Optimizations
- Struct-based value objects for reduced heap allocations
- Object pooling for frequently used objects
- Compile-time dependency resolution
- Zero-copy operations using Span
- Custom validation engine without reflection
### Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
---
## Turkish
### Yüksek Performanslı .NET Mimari Şablonu
NimbleArch, geleneksel kalıpları sorgulayan ve yenilikçi yaklaşımlarla maksimum performansa odaklanan modern bir .NET mimari şablonudur.
### Temel Özellikler
- **Özel Doğrulama Motoru**: Expression Tree'ler ve IL emission kullanılarak derleme zamanında doğrulama, çalışma zamanı reflection maliyetlerini ortadan kaldırır
- **Gelişmiş Veri Erişimi**: CQRS ve Event Sourcing'in en iyi yanlarını optimize edilmiş sorgu performansıyla birleştiren hibrit yaklaşım
- **Derleme Zamanında Bağımlılık Çözümleme**: Build zamanında bağımlılık grafiği oluşturmak için source generator'lar
- **Sıfır Kopya Operasyonları**: Span ve ArrayPool gibi modern .NET özelliklerinin yaygın kullanımı
- **Modüler Mimari**: Yüksek performans odaklı temiz ve modüler tasarım
- **Performans Metrikleri**: YerleÅŸik benchmark ve performans test yetenekleri
### Proje Yapısı
```
NimbleArch/
├── src/
│ ├── NimbleArch.Core/ # Domain varlıkları, arayüzler
│ ├── NimbleArch.Infrastructure/ # Veri erişimi, dış servisler
│ ├── NimbleArch.Application/ # Uygulama mantığı
│ ├── NimbleArch.SharedKernel/ # Çapraz kesişen konular
│ ├── NimbleArch.Generators/ # Özel source generator'lar
│ └── NimbleArch.Api/ # API endpointleri
├── tests/
│ ├── NimbleArch.UnitTests/
│ ├── NimbleArch.IntegrationTests/
│ └── NimbleArch.PerformanceTests/ # Benchmark testleri
└── tools/ # Build scriptleri, araçlar
```
### Başlangıç
1. Repository'yi klonlayın
```bash
git clone https://github.com/yourusername/NimbleArch.git
```
2. Bağımlılıkları yükleyin
```bash
dotnet restore
```
3. Uygulamayı çalıştırın
```bash
dotnet run --project src/NimbleArch.Api
```
### Performans Optimizasyonları
- Heap tahsislerini azaltmak için struct tabanlı value object'ler
- Sık kullanılan nesneler için object pooling
- Derleme zamanında bağımlılık çözümleme
- Span kullanarak sıfır kopya operasyonları
- Reflection kullanmayan özel doğrulama motoru
### Katkıda Bulunma
Katkılarınızı bekliyoruz! Pull Request göndermekten çekinmeyin.