Hendrik Lösch
How to Domain Model – An example from manufacturing
#1about 3 minutes
Understanding complexity in cyber-physical systems
Cyber-physical systems in manufacturing combine hardware and software, creating significant complexity that traditional software development models don't always address.
#2about 3 minutes
How product variations explode software complexity
Multiple variation points, such as different hardware suppliers or customer workflows, combine to create an explosion of complexity that can overwhelm a project.
#3about 4 minutes
Separating the problem space from the solution space
Domain-driven design helps teams focus on the business problem first by creating a domain model, rather than immediately jumping to implementation details and frameworks.
#4about 4 minutes
Discovering your domain model with event storming
Event storming is a collaborative workshop technique that helps teams map out business processes and identify key events, commands, and aggregates for the domain model.
#5about 2 minutes
An example domain model from the manufacturing industry
A real-world domain model for a mask repair machine shows how different bounded contexts like handling and repair use specific language to avoid ambiguity.
#6about 7 minutes
Implementing the model using tactical DDD patterns
Translate the abstract domain model into code using tactical patterns like aggregates, entities, value objects, repositories, and factories to structure the software.
#7about 2 minutes
Extending DDD with manufacturing-specific patterns
Standard DDD patterns can be extended with concepts specific to a domain, such as actuators, sensors, and state machines for hardware-centric systems.
#8about 3 minutes
Applying the domain model in a clean architecture
Placing the domain model at the core of a clean architecture isolates business logic from external dependencies like specific hardware, improving testability and maintainability.
#9about 1 minute
Why domain models create resilient and adaptable software
Designing software around a stable domain model, rather than volatile external dependencies, makes the system more resilient to changes in hardware or infrastructure.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
00:02 MIN
Introduction to domain-driven design principles
Typed Security: Preventing Vulnerabilities By Design
16:26 MIN
Rediscovering the business domain with collaborative modeling
Domain-Driven Transformation—How to Bring (Back) Sustainable Architecture to Legacy and Monoliths
21:35 MIN
Letting the business domain drive the design
There is no such thing as future-proof architecture! Here is how to prepare for it.
11:11 MIN
Moving from static documents to dynamic data models
Model Based Systems Engineering in an Agile Product Development Process
05:06 MIN
Viewing DDD as a holistic software engineering approach
20 Years of Domain-Driven Design: What I’ve Learned About DDD
04:47 MIN
Using Strategic Design to decompose large systems
Sustainable Angular Architectures with Nx and Strategic Design
28:03 MIN
Isolating the domain model and business logic
Sustainable Angular Architectures with Nx and Strategic Design
01:42 MIN
Introduction to repositories in domain-driven design
Three-and-a-half Ways of Testing your Repositories
Featured Partners
Related Videos
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
Carola Lilienthal
20 Years of Domain-Driven Design: What I’ve Learned About DDD
Eberhard Wolff
Domain-Driven Transformation—How to Bring (Back) Sustainable Architecture to Legacy and Monoliths
Henning Schwentner
Modulith Instead of Monolith - Pragmatically Towards Microservices
Hendrik Lösch
Strange New Worlds: shaping the future of the digital age
Andreas Kaldun
Blueprints for Success: Steering a Global Data & AI Architecture
Dominik Schneider
Modern software architectures
David Tielke
Model Based Systems Engineering in an Agile Product Development Process
Daniel Siegl & Hermann Gollwitzer
From learning to earning
Jobs that call for the skills explored in this talk.


Software Developer with Data Science Expertise in Energy System Modelling
ETH Zürich
€208K
C++
GIT
Python
Software Architecture

(Junior) Model-Based Systems Engineer
engineering people GmbH
Junior
UML
Unit Testing
Software Architecture

(Junior) Model-Based Systems Engineer
engineering people GmbH
Junior
UML
Unit Testing
Software Architecture

Domain Architect Ricardo Platform (f/m/d) | 80-100% | Hybrid working model | Valbonne France
SMG Swiss Marketplace Group
Canton de Valbonne, France
Senior

Domain Architect Ricardo Platform (f/m/d) | 80-100% | Hybrid working model | Zürich Switzerland
SMG Swiss Marketplace Group
Sachseln, Switzerland
Senior

Product Owner - Digital Manufacturing Solutions
E-T-A Elektrotechnische Apparate GmbH
Python
Grafana
SAP HANA

