Tutorials Microservices with .NET
Implementing CQRS in ASP.NET Core Microservices — Complete Guide
Implementing CQRS in ASP.NET Core Microservices — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Microservices with .NET on Toolliyo Academy.
On this page
Microservices with .NET · Lesson 59 of 120
Backend for Frontend (BFF)
Beginner ✓ → Intermediate → Advanced → Professional
Intermediate · 2 — Building services · ~10 min · Module 6: Advanced Communication
What is this?
Backend for Frontend (BFF) is a key part of ShopNest Cloud-Native — your .NET microservices learning project. In plain terms: it helps Product Service work correctly in a distributed system where each app deploys and scales on its own.
Why should you care?
You care about this when REST is too slow or too chatty between internal services, or when clients need flexible queries.
See it live — copy this example
Create a Web API project (dotnet new webapi), paste the code, then run dotnet run.
// Kubernetes DNS: http://order-api.shopnest.svc.cluster.local
// BFF aggregates Order + Product for mobile home screen
Run Example »
This lesson uses terminal or setup steps. Run commands on your computer — the live editor appears on coding lessons.
What happened?
- The example shows Backend for Frontend (BFF) wired into Product Service.
- Read each line, run it locally, then change one setting and observe what breaks or improves.
- That is how teams learn in production too — small experiments, not big bang rewrites.
Try it yourself
- Open or create the ShopNest project area for Product Service.
- Apply the Backend for Frontend (BFF) pattern from the lesson example.
- Run dotnet build && dotnet run (or docker compose up when the lesson uses containers).
- Change a string or number in the example and run again — predict the output first.
- Break the code on purpose (remove a semicolon), read the compiler error, then fix it.
Remember
Backend for Frontend (BFF) connects to Product Service in ShopNest Cloud-Native. Practice by editing the example yourself — do not only read. Move on when you can explain this topic in your own words without looking.
Real-world: Zoho-style SaaS billing
Billing, tenant provisioning, and feature flags are separate services. A billing fix deploys without redeploying the entire admin UI backend.
Outcome: Multi-tenant isolation and faster team velocity on subscription changes.