Today's Sponsor: HackerPulse — The Ultimate Dev Profile Don’t send 69 links to share your work - just share one! Bring together your GitHub, Stack Overflow, and LinkedIn profiles into a single HackerPulse dev profile. Perfect for job applications and networking, HackerPulse gives a complete picture of your skills and projects, all in one place.
Hey Reader, Today, I'm going to walk you through setting up a Blazor project using Clean Architecture. If you've ever wondered how to structure your Blazor apps to keep them maintainable, scalable, and, well, clean, you're in the right place. Watch on YouTube 📺Check out the full tutorial on YouTube to see everything in action 👇 Getting StartedFirst, let's fire up Visual Studio 2022 and create a new project. But instead of starting with a Blazor Web App right away, we're going to create a blank solution. Here’s how:
This empty solution will be our playground where we'll build out all the layers of our architecture. Setting Up the Project StructureNext, let’s organize our solution by adding a Source (src) folder. This is where all our code will live. If you were going to add tests (not in this tutorial), you’d also create a test folder. Now, let's dive into the Clean Architecture layers. Understanding Clean ArchitectureClean Architecture is all about organizing your code into different layers:
The idea is that each layer only knows about the layer below it. This keeps things clean and flexible. Creating the Domain LayerLet’s start with the Domain layer:
Here’s an example of what your entity might look like:
This is a basic entity representing a blog article. Creating the Application LayerNext up is the Application layer:
Here, you might start implementing services or CQRS patterns. For now, let's keep it simple and add a Dependency Injection setup.
This method allows us to add services from the Application layer to our Dependency Injection container. Creating the Infrastructure LayerThe Infrastructure layer handles the gritty details like data access:
Again, we’ll set up Dependency Injection here:
Creating the Presentation LayerFinally, let’s set up the Presentation layer using Blazor:
In the
This code adds the Application and Infrastructure services to the Blazor project. ConclusionAnd that’s it! You’ve set up a basic Clean Architecture with Blazor. This structure will make your app easier to maintain and scale over time. If you’re interested in diving deeper into patterns like CQRS or the Mediator pattern, let me know, and I’ll create more tutorials on those topics. Happy coding and have an awesome weekend! Take care, Patrick PS: Need help understanding .NET & Blazor? There are two ways I can help you with:
PPS: Would you like to sponsor this newsletter? Click here. 💌 |
Become a .NET & Blazor expert with weekly tutorials featuring best practices and the latest improvements, right in your inbox.
Hey Reader, You sit down to build an API, add some authentication, and think, “JWT should do the trick.” But then you wonder: What happens if my JWT gets stolen? How do I keep users logged in without compromising security? Sound familiar? In my latest video, I show you how to implement secure JWT authentication with short-lived tokens and refresh tokens in .NET. This setup minimizes risk while keeping the user experience seamless. No fluff - just practical, real-world guidance for building...
Hey Reader, Tired of factories and messy if-else logic in your projects? Since .NET 8, Keyed Services make it easy to handle multiple implementations. No more clutter - just clean, scalable code. In my new video, you’ll see how to dynamically pick services using a key and write code that’s easy to extend. It’s a fresh, modern approach to dependency injection that’ll have you rethinking how you design your APIs. 👉 Watch the video here Wishing you a fantastic start to the new year filled with...
Hey Reader, You sit down to write an API, and before you know it, you’re knee-deep in controllers, attributes, and boilerplate. Sound familiar? What if you could skip all that and still build a fully functional API - fast? That’s where Minimal APIs in .NET come in. They’re clean and lightweight and make building APIs feel like a breeze. In my latest video, I show you how to set up endpoints step by step and structure everything neatly so your code stays easy to read and scale. No fluff - just...