Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Own Your Domain Before It Owns You

Avatar for Posedio Posedio PRO
January 19, 2026

Own Your Domain Before It Owns You

It's bugs that make Software tumble, but it's blurred boundaries that make it collapse for good. In case of doubt, experts will simply slap the "Domain-Driven-Design" label around, but what does that even mean and how can we actually put something like that into practice?
In this talk we will take a look at what Modularity across your Domains actually boils down to, why it even is a necessity to stay sane and how to actually implement it into your Java systems. We'll take a look at how bounded contexts should be your best friends as a developer and why everything is an API. Expect fun anectdotes from mistakes we made in the past, a philosophical deep dive into organized coding and practical guidance for building systems that are not even that terrible to maintain.

Avatar for Posedio

Posedio PRO

January 19, 2026
Tweet

More Decks by Posedio

Other Decks in Programming

Transcript

  1. Do it RIGHT. What about us? 4 • ”Optimizing" my

    dev setup since 2019 • @ Posedio since 2025 • plays with both types of keyboards • spends 4 hours in a YAML to save 5 seconds of turning on a light bulb Leo Bowen Wang
  2. Do it RIGHT. What about us? 5 • Code Therapist

    of 10+ years • Professional Software Roaster • @ Posedio since 2022 • Call me daddy (of almost 2) • Unpopular opinion: “animals are friends, not food” Philipp Seifert-Kehrer
  3. Do it RIGHT. Roadmap 6 1. Why care about the

    domain? 2. What we are taught 3. Approaching that Domain Thing 4. Do it with Java 5. Back to the why
  4. Do it RIGHT. Why care about the domain? 9 Cannot

    get rid of complexity → have to tame it
  5. Do it RIGHT. Is this my job? 11 • A

    chef shouldn't have to understand tax logic or discount codes Blurred boundaries are the death of maintainability. • An accountant shouldn't need to know the temperature of the pizza oven
  6. Do it RIGHT. What we are taught - Three-Tier Architecture

    14 Presentation Layer Business Layer Data Access Layer
  7. Do it RIGHT. What we are taught - Don't Repeat

    Yourself 15 “Duplicate code is bad”
  8. Do it RIGHT. What we are taught – Access Modifier

    17 It’s treated as a way to "hide data” for devs.
  9. Do it RIGHT. Horizontal Slicing 20 Customer Project Management Requirement

    Engineering Frontend Controller Service Database
  10. Do it RIGHT. What we end up with (a lot

    of times) 21 Looks familiar?
  11. Do it RIGHT. Is this my job? 22 • A

    chef shouldn't have to understand tax logic or discount codes Blurred boundaries are the death of maintainability. • An accountant shouldn't need to know the temperature of the pizza oven
  12. Do it RIGHT. Vertical Domain Slices 25 Stop thinking in

    "Entities” Start thinking in Transactions – Processes > Data Horizontal separation of responsibilities is a lie Business rules matter Own your domain
  13. Do it RIGHT. • A "Pizza" isn't a single global

    entity, its meaning changes depending on who is looking at it. One Object, Many Hats • Each context is a "protected zone." Logistics shouldn't know how the dough is kneaded, and the Kitchen shouldn't care about the delivery route. The API Wall Different Contexts 26 Same Name, Different Realities
  14. Do it RIGHT. You’re not a designer 27 … in

    fact you do not have much to say at all
  15. Do it RIGHT. What about that fancy blue book? III

    34 Ubiquitous Language Putting things together that belong together Bounded Contexts
  16. Do it RIGHT. Putting things together that belong together II

    38 All Services? All Data that is synced from the same outside source? All Data that has the same lifecycle? What they have in common?
  17. Do it RIGHT. Business Processes First 41 Top-Down Look at

    holistic transactions Does not go well with RESTful
  18. Do it RIGHT. Visibilities are your friend 42 Packages are

    not just folders! Don’t leave the door open if you don’t want strangers to eat and comment on your homecooked food! … even if not the most reliable
  19. Do it RIGHT. The Model – API 4 your Data

    44 DB Table != Model Entity != Model DTO != Model (but might be close) 1 Table != 1 Entity 1 Model != 1 Class Differentiating Technical & Domain Abstractions
  20. Do it RIGHT. The Model – API 4 your Data

    II 45 Filtering & Funnelling
  21. Do it RIGHT. The “DDD” Pizza 46 • Moving logic

    into the entity to make illegal states unrepresentable • Rules belong where they cannot be bypassed
  22. Do it RIGHT. The “DDD” Pizza 47 • Reducing the

    service to a simple transaction wrapper
  23. Do it RIGHT. The shared kernel trap 🪤 48 Dependency

    not represent data flow No compilation error on removing module
  24. Do it RIGHT. The Conscious Dependency II 50 Mindset Don’t

    let dependencies “just happen” Always observe and steer them Between packages, modules, projects
  25. Do it RIGHT. Final words 55 • Encapsulation • Everything

    is an API • Dependency-Aware Development > DAD (not dependency avoidant) Mindset Gonna have to deal with them Requirements Pizza != Pizza