O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Domain-Driven Design Distilled

Video Description

4 Hours of Video Instruction

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it.

Domain-Driven Design Distilled LiveLessons video training, based on the bestselling book Domain-Driven Design Distilled, covers the basics of DDD including: what it is, what problems it solves, how it works, and how to quickly gain value from it. This training focuses on what you need to know about DDD to get results.

Vaughn Vernon draws on several years of experience applying DDD to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter.

Vernon guides you through each core DDD technique for building better software. You’ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms.

Related Books:

Domain Driven Design Distilled


Implementing Domain Driven Design


About the Instructor

Vaughn Vernon is a software developer and architect with more than 30 years of experience in a broad range of business domains. 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 has taught his 3-day Implementing Domain-Driven Design Workshop around the globe to hundreds of software developers. Some of his early exposure to domain modeling, the foundation of domain-driven design, came since 1991 with the use of the Smalltalk programming language. He has continually practiced the tenets of domain modeling since then, and was naturally drawn to Eric Evans’ work on DDD. He is an experienced speaker, having presented at many conferences. He is the founder and principal consultant and trainer at for {comprehension}, a Colorado-based business solutions provider. Vaughn is the author of Implementing Domain Driven Design (Addison-Wesley, 2013), Domain Driven Design Distilled (Addison-Wesley, 2016) and Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka (Addison-Wesley, 2015).

Skill Level

  • Intermediate

What You Will Learn

  • What DDD can do for you and your organization‚Äîand why it’s so important
  • The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language
  • Strategic design with Subdomains
  • Context Mapping: helping teams work together and integrate software more strategically
  • Tactical design with Aggregates and Domain Events
  • Using project acceleration and management tools to establish and maintain team cadence

Who Should Take This Course

  • Domain-Driven Design Distilled LiveLessons brings DDD to life. Whether you’re a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power.

Course Requirements

  • A practical understanding and use of a programming language, preferably an object-oriented language such as Java, C#, Scala, Ruby, Python, etc., or a functional programming language such as Scala, F#, or Haskell.
  • A desire to learn how to work closely with domain experts to gain in-depth knowledge into how the business works and its core drivers, and a determination to reject technology-only solutions.

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. Domain-Driven Design Distilled: Introduction 00:03:28
  2. Lesson 1: DDD for Me
    1. Topics 00:01:11
    2. Introduction 00:02:39
    3. 1.1 Will DDD Hurt? 00:01:04
    4. 1.2 Good, Bad, and Effective Design 00:18:43
    5. 1.3 Strategic Design 00:01:14
    6. 1.4 Tactical Design 00:01:59
    7. 1.5 The Learning Process and Refining Knowledge 00:01:23
    8. 1.6 Let's Get Started! 00:00:24
  3. Lesson 2: Strategic Design with Bounded Contexts and the Ubiquitous Language
    1. Topics 00:01:37
    2. Introduction 00:06:40
    3. 2.1 Domain Experts and Business Drivers 00:05:01
    4. 2.2 Case Study 00:04:51
    5. 2.3 Fundamental Strategic Design Needed 00:04:39
    6. 2.4 Challenge and Unify 00:07:13
    7. 2.5 Developing a Ubiquitous Language 00:16:20
    8. 2.6 Architecture 00:06:49
    9. Summary 00:00:59
  4. Lesson 3: Strategic Design with Subdomains
    1. Topics 00:00:55
    2. Introduction 00:01:59
    3. 3.1 What Is a Subdomain? 00:04:03
    4. 3.2 Types of Subdomains 00:06:11
    5. 3.3 Dealing with Complexity 00:04:46
    6. Summary 00:00:44
  5. Lesson 4: Strategic Design with Context Mapping
    1. Topics 00:01:30
    2. Introduction 00:01:13
    3. 4.1 Kinds of Mappings 00:00:31
    4. 4.2 Partnership 00:01:15
    5. 4.3 Shared Kernel 00:01:12
    6. 4.4 Customer-Supplier 00:01:32
    7. 4.5 Conformist 00:00:53
    8. 4.6 Anti-corruption Layer 00:01:21
    9. 4.7 Open Host Service 00:00:52
    10. 4.8 Published Language 00:00:50
    11. 4.9 Separate Ways 00:00:50
    12. 4.10 Big Ball of Mud 00:01:41
    13. 4.11 Making Good Use of Context Mapping 00:00:35
    14. 4.12 RPC with SOAP 00:01:59
    15. 4.13 RESTful HTTP 00:03:17
    16. 4.14 Messaging 00:03:39
    17. 4.15 An Example in Context Mapping 00:04:56
    18. Summary 00:00:44
  6. Lesson 5: Tactical Design with Aggregates
    1. Topics 00:01:05
    2. 5.0 Introduction 00:00:43
    3. 5.1 Why Used 00:03:18
    4. 5.2 Aggregate Rules of Thumb 00:11:55
    5. 5.3 Modeling Aggregates 00:06:05
    6. 5.4 Choose Your Abstractions Carefully 00:05:48
    7. 5.5 Right-Sizing Aggregates 00:05:21
    8. 5.6 Testable Units 00:01:20
    9. Summary 00:00:55
  7. Lesson 6: Tactical Design with Domain Events
    1. Topics 00:00:37
    2. 6.0 Introduction 00:04:54
    3. 6.1 Designing, Implementing, and Using Domain Events 00:08:12
    4. 6.2 Event Sourcing 00:04:33
    5. Summary 00:00:58
  8. Lesson 7: Acceleration and Management Tools
    1. Topics 00:01:28
    2. 7.0 Introduction 00:04:33
    3. 7.1 Event Storming 00:16:41
    4. 7.2 Managing DDD on an Agile Project 00:01:41
    5. 7.3 First Things First 00:02:15
    6. 7.4 Modeling Spikes and Modeling Debt 00:02:41
    7. 7.5 Identifying Tasks and Estimating Effort 00:04:44
    8. 7.6 Timeboxed Modeling 00:06:46
    9. Summary 00:00:39
  9. Summary
    1. Domain-Driven Design Distilled: Summary 00:03:34