Vaughn Vernon is a software developer and architect with more than 30 years of experience in a broad range of business domains. Vaughn is a leading expert in Domain-Driven Design and a thought leader in software simplification. He consults and teaches around Domain-Driven Design and reactive software development, helping teams and organizations realize the potential of business-driven and reactive systems as they transition from technology-driven legacy web implementation approaches. As he does so, he puts strong emphasis on embracing simplicity whenever possible. Vaughn is the author of three books: Implementing Domain-Driven Design, Reactive Messaging Patterns with the Actor Model, and Domain-Driven Design Distilled, all published by Addison-Wesley. Vaughn is also the founder of for {comprehension} providing consulting, live training, and online learning.
This hands-on, code-prolific, DDD workshop will teach you the essentials of how to implement using the Domain-Driven Design approach. Students will first receive an overview of DDD's strategic and tactical design, including ways to develop a Ubiquitous Language within a Bounded Context, using both Event Storming and Specification by Example.
Following this, teams of students will use these tools to reach a shared understanding of a Core Domain and Subdomains. Each team will present their "big picture" and "design level" direction and receive helpful feedback before the implementation begins. This step leads to a succession of strategic and tactical design learning and implementation steps with either Java or C#. Implementations may use Event Sourcing and traditional domain model persistence. The following will be your takeaways:
Understand that the better part of two days will be spent implementing using Java or C#. This is not a workshop for juniors, and at least 5-10 years of programming experience is recommended. You are required to supply your own computer, programming environment with build and test facilities that you use regularly, and your thinking cap.
Using the foundational ideas provided by Eric Evans, including the Bounded Context, Ubiquitous Language, Context Mapping, and business-driven modeling, this talk explores modeling uncertainty. Systems today are far more likely to be distributed, especially due to the ever increasing popularity of the cloud and microservices. Systems are also increasingly asynchronous, event-driven, and reactive. In the face of these and other influencing conditions, a pertinent question is, how can DDD be even more relevant today than when it was first explained? This talk addresses the current industry competing forces, and how the uncertainty introduced by vastly distributed systems can be finessed into highly functioning, business-centric systems, that teams can design, develop, and reason about.