Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

.NET Tools Livestreams

Chris Simon presents Test Driven Development, Domain Driven Design, & C# from the ground up – [Recording Available]

The JetBrains livestream recorded on May 2nd, 2024, at 20:00 UTC, with guest Chris Simon, “TDD, DDD, & C# from the ground up”, is now available on YouTube.

Agenda

About the Guest

Are you interested in using Domain-Driven Design (DDD) to create maintainable and scalable software, but not sure how to get started? Have you heard that DDD is only suitable for complex domains and you’re not sure if your project needs it?

Join me for a live coding demonstration in C# that will show you how to apply Test-Driven Development (TDD) from the very beginning of a project so you can bring DDD in when you need it.

We’ll start with the simplest possible implementation – a basic CRUD system to help a university handle student enrolments. We’ll gradually add more complex requirements, such as the need to ensure courses don’t become over-enrolled, which will prompt us to do some code-smell refactoring and lead us to things that start to look like the DDD tactical patterns of repositories, aggregates, and domain services.

In implementing these requirements, inspiration will strike! What if the model changed? What if we allowed all enrollments and then allocated resources to the most popular courses as required so we never have to prevent a student from enrolling? We’ll see how the TDD tests and neatly refactored domain models make it much easier to embark on this dramatic change and how much more maintainable our DDD codebase becomes.

Chris Simon

Chris is a Startup CTO Coach helping startups realize their vision and new CTOs to flourish in their roles. He also supports executives and boards with strategic technology advice, and engineering teams with training, mentoring, and consulting in architecture, quality, domain-driven design, and test-driven development.

He is a regular meetup and conference speaker (including NDC, YOW!, DDD EU, and Serverless Days) and to support teams using Domain-Driven Design, he recently launched https://contextive.tech and co-founded the Domain-Driven Design Australia meetup.

He is the technical co-founder of https://www.inloop.com.au, home of Australian Fintech success stories https://www.flexischools.com.au and https://www.lanternpay.com (recently acquired by NAB).

image description

Discover more