CODE: IDDD-01-03 DURATION: 3 DAY/S
Vaughn Vernon's IDDD Workshop is a hands-on class that has been custom developed for mid-level and senior software developers and architects. As a student, you will receive advanced software design instruction and solve real-world design problems as you learn together with others. The class encourages you to share your own problems and gain experience from class interaction. Problem spaces used in exercises include a Scrum-based Project Management application within a SaaS environment, and a Stock Trading system that supports algorithmic trading.
LEARN HOW TO:
Create a brand new DDD Bounded Context that is event-driven and integrates with the existing SaaS products as well as gain an in-depth understanding of the strategic and tactical patterns of DDD in the students programming language of choice.
Day 1: Getting Started, Strategic Design, and Architecture
The goal of Day 1 is for students to get grounded with a DDD mentality that will free their minds from data-driven approaches. This is necessary to grasp the thrust of developing a Ubiquitous Language within a Bounded Context, the hallmark of DDD. From there participants will be ready to embrace strategic design using Subdomains, Bounded Contexts, and Context Maps. Finally Day 1 crosses over to architecture, preparing students to employ Ports and Adapters, Event-Driven, and other powerful architectural tools as they develop a new SaaS-based Bounded Context in classroom exercises.
- Getting Started with DDD
- Domains, Subdomains, and Bounded Context
- Context Mapping
- Architectures that Support DDD
Day 2: Tactical Design
On Day 2 the focus is tactical design, giving students the aptitude to make proper finer-grained modeling decisions within a single Core Domain. Whether its the use of Entities, Value Objects, Aggregates, Domain Services, or Domain Events that best fit an individuals specific modeling situation, students will put each of the tactical tools to use in their own Core Domain project. As the day progresses, participants will learn the advantages of using each of the tools, and when another tool could provide a better set of tradeoffs.
- Value Objects
- Domain Services
- Domain Events
Day 3: Aggregate Persistence, Integrating Bounded Contexts, Application
Day 3 brings all the parts together to form an application. The final day of the course looks at different ways to persist Aggregates using object-relational mapping, document databases, key-value stores, as well as by employing Event Sourcing. The next step is to take a deep dive into applying Context Mapping techniques as we return to strategic design, but this time by developing integration solutions between your new Core Domain and other Bounded Contexts in the SaaS-based enterprise. Finally attention is given to other parts of the application, such as the user interface, using CQRS, and developing Application Services as your API. With all this background students will be better prepared to move forward with a DDD project of their own, or to make greater strides on their current DDD strategic initiative.
- Repositories and Event Sourcing
- Integrating Bounded Contexts
ABOUT THE AUTHOR
Vaughn is a veteran software craftsman, with more than 25 years of experience in software design, development, and architecture. He is a thought leader in simplifying software design and implementation using innovative methods.
More about Vaughn Vernon
WHAT PEOPLE ARE SAYING
|"The book [that this course is based on] is a must-read for anybody looking to put DDD into practice."
||Udi Dahan, Founder of NServiceBus
|"Implementing Domain-Driven Design does a remarkable thing: it takes a sophisticated and substantial topic area in DDD and presents it clearly, with nuance, fun and finesse....I will be referring back to it, and recommending it, often."
||Paul Rayner, Principal Consultant & Owner, Virtual Genius, LLC., DDD Instructor, Certified by Eric E
|"Vaughn did an excellent job in closing the gap between theory and practice with a complete implementation reference. "
||Alberto Brandolini, DDD Instructor, Certified by Eric Evans and Domain Language, Inc.
|"With Implementing Domain-Driven Design , Vaughn has made an important contribution not only to the literature of the Domain-Driven Design community, but also to the literature of the broader enterprise application architecture field. "
||Randy Stafford, Architect-at-large, Oracle Coherence Product Development
IS THIS COURSE FOR YOU?
If you are a mid-level and senior software developers and architects that want to learn how to succeed with Domain-Driven Design by improving skills and depth of knowledge in a fast-paced industry, then this course is for you.
Participants should have experience programming professionally.
Important! You are requested to bring your own laptop for this course, to learn how to develop within your own environment. If you are unable to
bring a laptop for this course, please contact the sales team on +44 207 183 9040 or email sales. A full installation guide for the course software will be provided with your joining instructions.
COURSE LABS & EXERCISES
Short lectures, exercises, and innovative game-play.