Why did we choose Cosmos DB over SQL? Why did we use gRPC here? Six months from now, nobody will remember. That’s why you need ADRs. An ADR is a short markdown file stored in the repo that captures an architectural decision. Structure Title: “Use Cosmos DB for Session Store” Status: Accepted / Deprecated Context: […]
Read more โTag: Architecture
Azure Service Bus: Messaging Patterns
Azure Service Bus is the enterprise messaging backbone. Beyond simple queues, it offers powerful patterns. Topic Filters (Pub/Sub) Instead of creating a queue for every variation, create one Topic. Subscribers can filter what they receive using SQL filters. Dead Letter Handling Always handle your Dead Letter Queue (DLQ). Messages go there after max delivery attempts. […]
Read more โDesigning for Nullability in C#
Nullable Reference Types (NRT) are enabled by default in .NET 6 templates. It’s time to stop fighting the warnings and embrace the design philosophy. The Golden Rule “Design your types to be initialized fully on construction.” Most NRT warnings come from models that are partially initialized or set via property injection later. If a property […]
Read more โ.NET 6: Minimal APIs Explained
Minimal APIs are the biggest shift in ASP.NET Core since version 1.0. They remove the MVC ceremony (Controllers, Actions, Filters) in favor of a fluent lambda-based syntax. The Code Is it just for tiny apps? No. Performance is technically better than MVC (fewer allocations, no Filter Pipeline overhead). However, organization becomes the challenge. You don’t […]
Read more โDependency Injection in .NET: Service Lifetimes
Choosing the right lifetime for your services is critical for app correctness and memory usage. Transient Created every time it is requested. Lightweight, stateless services. Scoped Created once per HTTP request. Ideal for DB contexts, user session data. Don’t inject Scoped into Singleton! Singleton Created once per application lifetime. Examples: Caching services, configuration. MUST be […]
Read more โReact Server Components: The Future of React?
In a surprising end-of-year announcement, the React team unveiled React Server Components (RSC). It’s an experimental feature (zero-bundle-size components) that might redefine how we build React apps. The Idea Traditionally, React components (Client Components) are downloaded, parsed, and executed in the browser. They fetch data via API calls (useEffect). Server Components execute only on the […]
Read more โ