Applying DDD & EventStorming in Modern Architecture



Kursarrangør: Bouvet
Sted: Bouvet avd Oslo
          Oslo, Majorstua
Kursadresse: Sørkedalsveien 8, 0369 Oslo (kart)
Type:Åpent kurs / gruppeundervisning
Studie / yrkesutdanning
Undervisningstid: Please contact us for information
Varighet: 2 days
Pris: 16.900

We provide course about Applying DDD & EventStorming in Modern Architecture. This training is the perfect match for those who attended the “Implementing Modern Architecture” training and would like to know more about how Domain-Driven Design works in real life.

Content:
This training is the perfect match for those who attended the “Implementing Modern Architecture” training and would like to know more about how Domain-Driven Design works in real life. During 2 days, we will primarily focus on Domain-Driven Design (DDD) and EventStorming.

Those tools help to align software architecture with business needs and increase the chances of an architecture being successful. By being a part of the series of hands-on workshops, participants will learn how to understand business needs, discover bounded contexts, and design working models using EventStorming.

The training covers strategic and tactical DDD, including designing aggregates and value objects, ensuring invariants, working with domain events, accessing entities using repositories, and more. It’s ideal for software architects, developers, and project managers who would like to build software systems that solve business problems and are well-designed from a technical perspective.

Program day 1:
Domain-Driven Design:
• What is DDD and why use it
• Strategic DDD
• How to discover a Bounded Context

Discovering Bounded Contexts with EventStorming:
• What is EventStorming and why use it
• Preparation for an EventStorming workshop
• Running a Big Picture
• Event Storming workshop

Process modeling with EventStorming workshop:
• Discovering Commands, Policies, and Read Models

Program day 2:
Essentials of Tactical DDD:
• Value Objects
• Entities
• Aggregates

Discovering Aggregates workshop

Applying Tactical DDD in real code:
• Designing Aggregates and Value Objects
• Ensuring Invariants in a Domain Model
• References in Object Graphs
• Choosing ID type
• Application, Domain, Infrastructure, and Presentation layers
• Implementing complex scenarios using Domain Services
• State transitions in Aggregates
• Working with Events in a Domain Model
• Managing Aggregates using Factory, Repository, and Memento
• Implementing Concurrency

Duration:
Day 1:
• Domain-Driven Design, Discovering Bounded Contexts with EventStorming, Process modeling with EventStorming workshop.

Day 2:
• Essentials of Tactical DDD, Discovering Aggregates workshop, Applying Tactical DDD in real code

Course instructors: Vadzim Prudnikau and Marek Dominiak

Vadzim Prudnikau is a senior Java Developer, Team Lead, and Architect with 17 years experience (4 years in Norwegian market) who believes that technical skills, self-education, being a good team player, and knowledge sharing are the keys to success. Completed 10+ projects which work in production, led 5 development teams, mentored 20+ developers, interviewed over 100 developers for 10+ positions, created a Java department. An Expert in Java and has also experience with Kotlin, Scala, Groovy, JavaScript programming languages.

Marek Dominiak is a software developer and architect with 15 years of experience (10 years in Norwegian market) mainly in Java World. Has experience in mentoring developers and with leading teams. His main focus is on creating sustainable solutions, learning about software craftsmanship, domain-driven design, and code quality.

During his career, Marek has completed many smaller and bigger projects that work in production, interviewed developers, handled communication with customers, helped to design architecture for whole systems and delivered them, and introduced many technologies proven in production. Occasionally Marek is a speaker at conferences related to software development (JDD conference, Warszawskie Dni Informatyki).

Target Audience:
Architects, Team Leads, Senior Developers

Course material:
Bring your own computer