Clean Architecture with ASP.NET Core

Date Published: 15 November 2018

Clean Architecture with ASP.NET Core

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.

Day One:

  • Unit testing overview
  • Unit testing hands-on labs
  • Introduction to Domain-Driven Design
  • Introduction to ASP.NET Core

Day Two:

  • 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.

Day Three:

  • 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)

Day Four:

  • 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 Smith

About Ardalis

Software Architect

Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.