Clean Architecture with ASP.NET Core
Date Published: 15 November 2018
I've been doing workshops showing teams how to properly architect ASP.NET Core applications using Clean Architecture for the last couple of years. The most recent one was a 4-day on site workshop I did a couple of weeks ago. This is just a quick recap of what we covered.
Each team is different and has different needs, so the precise agenda varies to suit the needs of the team.
- Unit testing overview
- Unit testing hands-on labs
- Introduction to Domain-Driven Design
- Introduction to ASP.NET Core
- Introducing Domain-Driven Design and ASP.NET Core (continued)
This material was begun on Day One and includes 2 full days of lecture and hands-on labs covering DDD topics, design patterns, and unit and integration testing, as well as ASP.NET Core. Labs cover Entities, Repositories, DI and Domain Services, Domain Events, Testing, Specifications, and Aggregates.
- Wrapped up Domain-Driven Design and ASP.NET Core
- Drilled down into Clean Architecture principles and structure
- Hands-on labs covering several design patterns (including Builder, Null Object, and Strategy)
- Advanced ASP.NET Core Topics
- More Design Patterns
- Architectural and Code Review of client's systems
Overall the workshop went extremely well. Some comments from students:
- "Good mix of theory and hands on."
- "This workshop is a great learning opportunity and has lots of up to date information."
- "The depth of the topics covered and their relationships set this workshop apart from other learning opportunities"
- "Instructor experience, expertise in clean architecture set this workshop apart"
- "Worthwhile class with immediate takeaways."
You can check out my Clean Architecture Solution Template for ASP.NET Core 2.x available for free on GitHub. Next, check out my eShopOnWeb reference application I wrote for Microsoft along with its companion eBook. And if you'd like me to help make sure your team gets off to a good start with their next ASP.NET Core project, contact me and let's see if I can come on-site or help you via remote webinar-style workshops.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.