Yazılar
Yazılım, geliştirme süreçleri ve teknik notlar.
Hexagonal & Onion Architecture
İş mantığını dış bağımlılıklardan soyutlamak için hexagonal (ports & adapters) ve onion architecture katmanları, bağımlılık yönleri ve test edilebilirlik anlatılır.
Devamını oku
Outbox Pattern ile Eventual Consistency
Mikroservisler arası iletişimde event tabanlı mimari, domain event'ler ve veritabanı tutarlılığını korumak için outbox pattern uygulaması ele alınır.
Devamını oku
DDD: Aggregate, Value Object ve Bounded Context
Karmaşık iş alanlarını modellemek için DDD'nin temel yapı taşları (aggregate, entity, value object, bounded context) ve stratejik tasarım prensipleri açıklanır.
Devamını oku
CQRS ve MediatR ile Esnek Kod
Komut (write) ve sorgu (read) modellerini ayırarak ölçeklenebilirliği artıran CQRS deseni ve .NET'te MediatR kütüphanesi ile uygulanması anlatılır.
Devamını oku
Modüler Monolith Tasarımı
Mikroservislerin getirdiği karmaşıklığa girmeden, modüler sınırlarla ayrılmış tek bir deploy ünitesi olan modüler monolith tasarımı ve avantajları ele alınır.
Devamını oku
BackgroundService ile Arka Plan İşleri
BackgroundService ve IHostedService ile uzun süreli arka plan görevleri, Windows/Linux servisleri ve PeriodicTimer kullanımı anlatılır.
Devamını oku
BenchmarkDotNet ile Mikro-Optimizasyon
Performans ölçümünde BenchmarkDotNet'in doğru kullanımı, benchmark senaryoları, sonuçların yorumlanması ve mikro-optimizasyon tuzakları ele alınır.
Devamını oku
Exception Handling Anti-Pattern'leri
Boş catch blokları, genel Exception yakalama, yeniden fırlatma hataları gibi anti-pattern'ler ve doğru exception yönetimi stratejileri anlatılır. throw; ile throw ex; farkı vurgulanır.
Devamını oku
System.Text.Json vs Newtonsoft.Json
.NET'te JSON işlemek için iki kütüphanenin performans, özellik ve uyumluluk karşılaştırması yapılır. JsonConverter yazarak özel serileştirme senaryoları çözülür.
Devamını oku