Roadmap

What I'm working on, what's next, and what I plan to tackle later.

  • Planned Tactical DDD: Aggregate, Value Object, Domain Event
  • Planned Strategic DDD: bounded context, context mapping, anti-corruption layer
  • Planned Repository pattern + Unit of Work
  • Planned CQRS + MediatR example
  • Planned MediatR pipeline behavior: validation, logging, transaction
  • Planned CQRS + event sourcing
  • Planned Outbox pattern (transactional messaging)
  • Planned Idempotency-key API design
  • Planned Vertical slice architecture
  • Planned Modular monolith vs microservice trade-off
  • Planned Clean / Hexagonal architecture skeleton repo
  • Planned Result pattern vs exception
  • Planned Unit testing: AAA, mocking, testable design
  • Planned GC: Server vs Workstation, Concurrent GC, csproj settings, DATAS (.NET 8)
  • Planned Span<T> / Memory<T> / ref struct / stackalloc / ArrayPool<T>
  • Planned High-performance logging: LoggerMessage source generator
  • Planned ValueTask vs Task, async state machine pooling
  • Planned BenchmarkDotNet methodology: mean, allocation, disassembly diagnoser
  • Planned Object pooling: ObjectPool<T>, RecyclableMemoryStream
  • Planned readonly struct / in parameter / defensive copy pitfall
  • Planned Writing a source generator (kill reflection)
  • Planned Native AOT + trimming
  • Planned System.Text.Json source generator, Utf8JsonReader
  • Planned Race conditions: real examples, Interlocked, memory barrier
  • Planned async/await internals: state machine, ConfigureAwait(false)
  • Planned System.Threading.Channels: producer/consumer
  • Planned Deadlock: sync-over-async, .Result / .Wait() pitfall
  • Planned SemaphoreSlim / ReaderWriterLockSlim / lock-free
  • Planned Parallel.ForEachAsync, concurrency throttling
  • Planned .NET memory model: volatile, false sharing
  • Planned EF Core: configuration, relationships, AsNoTracking, performance
  • Planned Value converter + column encryption (protected data), Always Encrypted
  • Planned Compiled queries
  • Planned Query splitting vs cartesian explosion
  • Planned Interceptor (SaveChanges / command)
  • Planned ExecuteUpdate / ExecuteDelete (set-based, .NET 7+)
  • Planned Global query filter: multi-tenancy / soft delete
  • Planned Owned types for DDD value object mapping
  • Planned Zero-downtime migration: idempotent script, production strategy
  • Planned SSL/TLS, mTLS, Kestrel HTTPS, certificate pinning
  • Planned Symmetric vs asymmetric keys: when to use which, usage in .NET
  • Planned Data Protection API: key ring, key rotation, persistence
  • Planned Resource-based authorization: AuthorizationHandler + IAuthorizationRequirement
  • Planned Secret management: user-secrets, Azure Key Vault
  • Planned JWT validation internals, refresh token flow
  • Planned ASP.NET Core Localization: multi-language with IStringLocalizer
  • Planned OpenTelemetry: trace + metric + log (three pillars)
  • Planned System.Diagnostics.Metrics, dotnet-counters / trace / dump
  • Planned Correlation id + distributed tracing
  • Planned Structured logging: Serilog enricher
  • Planned JIT, tiered compilation, ReadyToRun, dynamic PGO
  • Planned AssemblyLoadContext / plugin loading
  • Planned Reflection vs source generator vs expression tree performance