ASP.NET Core controllers often begin with only a few lines of code.
As an application grows, however, controllers can slowly become responsible for validation, business rules, database operations, logging, error handling, and coordinating multiple services.
The result is often a controller that is difficult to understand, test, and maintain.
The Mediator pattern helps solve this problem by moving application logic away from controllers.
Instead of directly calling services and repositories, the controller sends a strongly typed message. A dedicated handler receives that message and performs the requested operation.






