Hey Reader,
Today, we're diving into two burning questions that have been on a lot of your minds: How to implement Clean Architecture in a Blazor Web App and whether Blazor is viable in the industry.
In my newest video tutorial, I break down the essentials of setting up a Clean Architecture for your Blazor Web App in Visual Studio. We'll explore the four layers - Domain, Application, Infrastructure, and Presentation - and how they seamlessly integrate.
Here's what you need to know:
Start with a blank solution in Visual Studio and create a "src" folder for all your projects.
Begin layering by setting up three class library projects: "Domain," "Application," "Infrastructure". For the Presentation layer, kick off a new project with the "Blazor Web App" template, which will then be the starting project.
With Clean Architecture, each layer points inwards to ensure separation of concerns. A common industry practice allows the presentation layer to directly reference the infrastructure layer.
Ensure proper project referencing: Application refers to Domain, Infrastructure to Application, and Presentation to Infrastructure (taking the shortcut here).
For service registration, don't bunch it all in the Presentation layer's Program.cs. Add a DependencyInjection.cs file in both Application and Infrastructure layers with an extension method for the IServiceCollection. Invoke this in the Presentation layer's Program.cs.
That's it!
A lot of you have been asking if people really use Blazor for real work.
The story of BurnRate, run by .NET expert Robert McLaws, shows that yes, they do.
Instead of using complicated Excel sheets, BurnRate uses a smart "People Algorithm" with the help of Blazor and ASP.NET. This makes their website able to handle detailed financial stuff easily.
It's a great example of how Blazor is good for making reliable, ready-for-business apps. Check out how BurnRate uses Blazor here: BurnRate is fueling revenue success with Blazor.
Thank you immensely for your enthusiasm and support for the .NET Web Academy. Just a friendly reminder, enrollment is open for just one more week. Secure your place now at https://learn.dotnetwebacademy.com.
Have questions or need clarifications? Don't hesitate to hit reply to this email. I'm here to support with more tutorials if needed.
A big thank you to our incredible community and my Patrons for your steadfast support. You're the backbone of this newsletter and my channel. Stay safe, and remember, joy is found in coding! π»
Take care,
Patrick
Become a .NET & Blazor expert with weekly tutorials featuring best practices and the latest improvements, right in your inbox.
Hey friend, I just released a new video and I think you will enjoy this one. In the video, I ask GitHub Copilot to build a real mortgage app in Blazor. The app works. But the code is messy. All the business logic ends up in the UI. Fast results. Bad structure. Then I clean it up properly. Same behavior. Same output. Much better code using services, interfaces, and dependency injection. It shows why Copilot is powerful, but dangerous without rules. Watch the video here π Enjoy the breakdown...
Hey friend, I just released a new video and I think youβll enjoy it. In the video, I ask GitHub Copilot to build a .NET Web API using a short, vague prompt. The result works, but the structure feels random and messy. Then I run the same idea again with a stronger prompt that forces a clean structure. Feature folders. Vertical slice. Mediator. Fluent Validation. The difference is night and day. Watch the video here π Enjoy the breakdown and let me know what you think. Take care, Patrick P.S....
Hey friend, I just released a new video showing a better way to use GitHub Copilot in real .NET projects. Watch it here π If you ever felt like Copilot starts strong but then your code slowly turns into chaos, youβre not alone. It happens to most developers when they start using AI without giving it the right guidance. In the video, I show you one simple file you can add to your project that keeps your code clean, structured, and consistent. No guessing. No random patterns. Just a clear...