Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn how to integrate Test-Driven Development (TDD) and Domain-Driven Design (DDD) from the beginning of a software project through a comprehensive live coding demonstration. Explore the practical application of TDD principles to build maintainable and scalable software while gradually introducing DDD concepts when complexity demands it. Start with a simple CRUD system for university student enrollments and progressively add complex requirements such as preventing course over-enrollment. Discover how code-smell refactoring naturally leads to DDD tactical patterns including repositories, aggregates, and domain services. Experience a dramatic model transformation where the system shifts from preventing enrollments to allowing all enrollments and allocating resources based on popularity. Understand how TDD tests and well-structured domain models facilitate major architectural changes and improve codebase maintainability. Gain practical insights into when and how to introduce DDD patterns without over-engineering simple solutions, making this approach suitable for projects of varying complexity levels.
Syllabus
TDD & DDD from the Ground Up - Chris Simon - NDC Melbourne 2025
Taught by
NDC Conferences