All courses

Développement

Apply a Domain-Driven Design Approach to Development

Use DDD to communicate the technical architecture to the various stakeholders in your project, and learn functional modeling using UML use-case diagrams and class diagrams.
DifficultyEasy4 hours
Interested in this free-access course?

How can you possibly deliver software a customer wants in an ever-changing world? It’s challenging! A big part of the problem is we like to dive into coding as quickly as possible. While this is admirable, it often leads to fragile, difficult-to-modify solutions. And what do customers do all the time? Change their minds! Which means we need to modify our solutions.

How do we manage? In this course, we will look at domain-driven design as a way to help us out of this situation:

  • In Part 1, we will look at "What is DDD?" and at the domain driven approach to development. We'll explore the value of collaboration with customers, and understanding the system from their perspective, instead of from the system perspective. We will also strive to build a common vocabulary that carries from our conversations to the code itself.

  • In Part 2, we'll use the knowledge we've gathered to build up a domain model using UML use case and class diagrams. We will leverage the ideas of entity, value, and aggregate objects to help orient our programming. And, since users change their minds, we’ll introduce changes from the customer, and see how our system can respond more easily to these requests.

Learning this approach may spare you a lot of headaches, when, after you’ve delivered some software, the customer asks, “But can you also make it do this?" 😎

 Meet Your Teacher: Glen Wolfram 

Glen has worked in the trenches of software development for 30 years. He currently lives in the beautiful Pacific northwest of the United States.

Glen Wolfram
Glen Wolfram

He has applied object-oriented and agile techniques developing applications spanning a vast range, including embedded applications and video games, plus vehicle simulators and medical data systems. Additionally, he brings plenty of examples and understandable analogies to the learning experience. Take it from one student's comment over the years: "I never nodded off in his classroom."

Learning outcomes

  • Extract user needs using domain driven design processes
  • Formalize user needs into a domain model

Contributors

Instructor

Glen Wolfram

Experienced developer and teacher

Created by

Last updated: 1/23/2025

License

Développement

Apply a Domain-Driven Design Approach to Development

DifficultyEasy4 hours
Free-access course