While Domain-Driven Design offers invaluable insights regarding developing enterprise-level software projects, it is often unclear how to apply them in practice. In this course, we'll go through the whole process of building an application from the very beginning using the DDD principles.
What is Domain-Driven Design?
Domain-Driven Design is more of a philosophy than a technology or a strict methodology. DDD is based on making the project's primary focus the domain of the subject matter, basing the design on a model, and making sure that both technical experts and subject matter experts are working together on the design.
What is the advantage of Domain-Driven Design?
Domain-Driven Design in practice is generally more flexible and easier to update. It also resonates much more with the intended audience of the product because it's built from the ground up specifically for their subject matter.
What are some disadvantages of Domain-Driven Design?
The most common challenge when implementing Domain-Driven Design is finding subject matter experts to collaborate with on a project that is outside of their typical realm. Developers and domain experts need to have enough overlapping knowledge in order to bring a successful product to life.
Who is this course for?
This course is great for anyone who has struggled to understand how to apply Domain-Driven Design concepts in their own projects.
What will I learn in this course?
You will learn the principles of DDD, when to use Domain-Driven Design, and go through the whole process of creating an application using DDD.
Are there prerequisites for this course?
You will need to have some basic experience with C#. It's also recommended that you've read the book Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans and that you've watched the Domain-Driven Design Fundamentals course by Julie Lerman and Steve Smith.