Are you interested in building semantic yet simple software that correctly serves its purpose? Join DDD expert and business software artist Marco Heimeshoff for this intensive three-day workshop exploring the technical relationship between code, culture, and architecture and learn how to model and implement software from a business perspective.
If you are an Architect or Developer (junior or senior) with a strong interest in Domain-driven design and modern message-driven architectures then this course is for you!
There are no specific requirements to this workshop, only the will and ability to build software with a focus on business behaviour.
If you are a programmer with one year experience or a senior architect with 20 years in the industry, your specific mindset represents part of the workforce of business software developers and you can learn and practice language agnostic in this workshop.
- Understand Domain-driven design (DDD) and when it applies
- Model the problem domain and explore multiple solutions to choose from
- Align your design with your business needs using CQRS and DDD
- Build scalable and decoupled applications with Event Sourcing.
In this course, you will learn how to scale your application so that any number of queries can be handled, while also maintaining a behaviour rich domain model that can deal with complex scenarios.
Discover how Event Sourcing enables you to build highly cohesive and decoupled modules and changes the way you write and communicate about tests forever.
These patterns will help you to put your energy where the business value is, by letting you partition your team by their expertise and outsource the busy work. Drawing from Domain-driven design concepts, write code with Command Query Responsibility Segregation and learn how Event Sourcing tells a story in domain terms.
Keep your software system design in line with your organisation’s needs, improve readability, and strengthen your communication with key stakeholders.
- Domain-driven design overview: Essential patterns and practices
- Defining a Ubiquitous Language
- Domain model implementation patterns
- Bounded Contexts
- Applying DDD in practice.
- Capturing user intention instead of editing data
- Implementing business behaviour in semantic code
- Applying Event Sourcing
- Testing with Domain Events using Behaviour Driven Development
- Implementing Aggregates, Entities and Value Objects
- Decoupling Bounded Contexts
- Dealing with performance optimisation and snapshots.
- Implementing read models
- Projecting Event Streams into poly-structured data
- Dealing with eventual consistency
- Building distributed systems with Pub/Sub
- Automating business processes with Sagas
- Strategies for long lived, evolving Event Sourced systems
- Discussing benefits, risks and socio-technical implications of CQRS and Event Sourcing.