How to Domain Model – An example from manufacturing
How do you solve a problem described as 'Sudoku on a Rubik's cube?' Learn how a robust domain model tames software complexity for high-tech manufacturing machinery.
#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.
MLops – Deploying, Maintaining And Evolving Machine Learning Models in ProductionWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Bas Geerdink who gave advice on MLOps.About the speaker:Bas is a programmer, scientist, and IT manager. At ING, he is responsible for the Fast...
Christina Schaireiter
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
Benedikt Bischof
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
From learning to earning
Jobs that call for the skills explored in this talk.