Posts by Spyros

@Spyros

Spyros Ponaris

Passionate about building robust and scalable software solutions with a focus on...
Athens Greece Joined January 2025
6.1k Points126 Badges63 Connections147 Followers65 Following

Posts by Spyros

Spyros in Articles 6 min read
The Rule Pattern in C#, and Why It Works So Well with the Result Pattern Business rules rarely stay in one place. A small validation starts in a command handler. Another check appears in a service. A third gets added somewhere in the domain. A few...
Spyros in Articles 4 min read
Building a Blazor Form with the Command Pattern and Undo In a typical Blazor form, inputs update the model directly. That is simple and works fine for basic CRUD screens, but it starts to feel limiting when you want more control over how changes hap...
Spyros in Articles 2 min read
Recently, I had a simple coding task. I needed to split an item's quantity across multiple lines. For example, I had Item 1 with a total quantity of 10, but that quantity could not remain on a single line. It had to be distributed across several lin...
Spyros in Articles 3 min read
If you ever had to “fix a batch” of invoices, reset workflow statuses, or reprocess failed documents, you know the pain, one mistake and you either update too much, or you update the right rows but lose the evidence of what changed. SQL Server has a...
Spyros in Articles 1 min read
When IDbContextFactory enters the chat, and what it actually fixes Most EF Core examples use a scoped DbContext. In a normal Web API request, that’s fine, the request ends, the context is disposed. Then you build Blazor Server. A Blazor Server ci...
Spyros in Articles 3 min read
ASP.NET Core already gives you solid logging out of the box, and if you want richer sinks and structured logs, Serilog is a common choice. But sometimes you cannot use a ready made sink, because the company already has a legacy logging table with a...
Spyros in Articles 3 min read
About 8 years ago I came across the Chain of Responsibility pattern. I remember I was genuinely happy when I understood it, because all those long if / else if / else blocks suddenly felt unnecessary. Instead of one method trying to decide everythin...
Spyros in Articles 2 min read
Carter in a CQRS API, advantages and alternatives. In this project I wanted the API layer to stay small and structured. I like minimal APIs, but I don’t like having 200 endpoints inside Program.cs. That’s why I used Carter, it keeps the minimal API...
Spyros in Articles 3 min read
The tech stack I used and why updated, with Repository and Unit of Work This project is small, but I wanted it to feel like a real API you can extend. The repository is here: https://github.com/stevsharp/ChainOfResponsibilityWithMediatR Carter f...
Spyros in Articles 3 min read
Chain of Responsibility inside CQRS with MediatR, a small practical example When we talk about “clean architecture” in ASP.NET Core, it is easy to end up with too many layers and too many rules, and the simple business logic becomes hard to read. T...
Spyros in Articles 3 min read
Why learning to build your own ORM is worth it even if you use EF Core or Dapper Most developers meet ORMs the same way they meet electricity, you flip a switch and things work. That’s great, until something gets slow, a query behaves oddly, or you...
Spyros in Articles 4 min read
Decorator pattern, in short The decorator pattern is a structural design pattern that lets you add behavior to an object at runtime by wrapping it with another object that has the same interface. The wrapper forwards calls to the inner object, then ...
Spyros in Articles 3 min read
The problem we’re solving Stuff goes wrong: timeouts, not-found resources, validation fails. You want one consistent error response and clean logs, without sprinkling try/catch everywhere. Two good options Option A — Global Exception Handler recom...
Spyros in Articles 5 min read
Introduction Distributed systems are powerful — but they come with one big challenge: reliability. What happens if your application updates a record in the database and then tries to publish a message to a message broker… but crashes in between? ...
Spyros in Articles 2 min read
MassTransit in ASP.NET Core: A Practical Guide to Event-Driven .NET Intro Event-driven architectures help teams decouple services, scale independently, and handle failures gracefully. MassTransit is a mature, open-source library that makes message-b...
Spyros in Articles 5 min read
Modern applications often need to broadcast events across multiple services. Think of an order being placed in an e-commerce system. The order service publishes an event, and multiple subscribers react independently: 1. the billing service charges ...
Spyros in Articles 1 min read
MassTransit has been around since 2007 and has matured into one of the most stable and feature-rich open-source .NET messaging frameworks. It acts like a factory for message brokers, meaning you can switch between providers such as RabbitMQ, Azure S...
Spyros in Articles 2 min read
1. Introduction When you’re using EF Core in production, query compilation can quietly become a performance bottleneck — especially if the same query is executed thousands of times. Normally, EF Core parses your LINQ, generates SQL, and prepares ...
Spyros in Articles 3 min read
In this example, we build a reusable Blazor component using Syncfusion’s SfMultiSelect that supports: Dynamic option filtering based on a Picklist type e.g., Color, Unit Two-way data binding with a parent component Internal state management to avo...
Spyros in Articles 3 min read
When you’re working with bulk data operations, upserts, or syncing external sources, MERGE is one of the most powerful tools SQL Server offers. But what happens when you need to use it alongside Entity Framework Core? In this article, we’ll cover: ...
chevron_left

Latest Jobs

View all jobs →