Domain Driven Design is a way of thinking about the needs of the customers first and putting an emphasis on their language, understandings and human interactions. The outcome of this approach is mostly applied to the backend of applications because this is where most of the business logic resides, but a semantic domain model also benefits the UI design. Unfortunately these semantics are often lost in translation when transferred to the frontend because the impedance mismatch is too high. Therefore the users that are actually using the system will not profit as much as they could from your design. I will show you a functional approach that allows you to actually reuse your carefully crafted domain types and behaviour with ease by leveraging F# and the SAFE-Stack to combine CQRS/Event-Sourcing on the backend and the Elm architecture on the frontend with an overall messaging architecture.
YOU MAY ALSO LIKE:
- Do-It-Yourself: Event-Sourcing (SkillsCast recorded in April 2019)
- Domain-Driven Design in Practice with Michael Plöd (Online Workshop on 20th - 22nd September 2022)
- Functional Concurrency in .NET with C# and F# with Riccardo Terrell (Online Workshop on 11th - 14th October 2022)
- F# eXchange 2022: Online (Online Conference on 25th - 26th October 2022)
- F# eXchange 2022: In-Person (in London on 25th - 26th October 2022)
- LDN Talks May 2022 - Quickwit Takeover (in London on 30th May 2022)
- Dark Energy, Dark Matter and Microservice Architecture Collaboration Patterns (SkillsCast recorded in May 2022)
- Software Architecture in a DevOps World (SkillsCast recorded in February 2022)
Applied Domain-Driven Design — Full-Stack Event Sourcing
Roman Sachse
Learner <> Father <> Teacher.
Roman Sachse started programming 19 years ago rather by accident shortly after founding his first company when he realized how much fun it was building the stuff he was working on by himself. This set him out on a lifelong journey of learning everything about software development and computer science and he was particularly surprised to realize that this branch of science strongly depends on two fields he was always interested in: people and communication. Roman is a proud father of three year old twin girls, holds a bachelors degree in Cognitive Science and a Masters degree in Computer Science and is currently mainly interested in Domain Driven Design, Functional Programming and the inner workings of software development teams.