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

DomainDriven Design - An Overview

Markus Hanses
February 26, 2020

DomainDriven Design - An Overview

Markus Hanses

February 26, 2020
Tweet

More Decks by Markus Hanses

Other Decks in Programming

Transcript

  1. 1.9. Communication Structures “Organizations which design systems ... are constrained

    to produce designs which are copies of the communication structures of these organizations.” - Conway’s Law -
  2. 3.3. Elements of DomainDriven Design • Strategic Design adresses a

    top-down approach by breaking complexity down from domains to subdomain and further down to Bounded Contexts. • Tactical Design, on the other hand, can be used for bottum-up analysis and design since it has a focus in finer grained building blocks like Value Objects, Entities or Aggregates. [HODDDBE]
  3. 6.5. Context Mapping • Open-host Service • Published Language •

    Conformist • Customer / Supplier • Anticorruption Layer • Shared Kernel • Big Ball of Mud • Partnership • Seperate Ways
  4. 6.9. History of concepts 2003 2005 Event Sourcing 2010 Command


    Query
 Responsibility
 Segregation Micro Service Self
 Contained
 System Distributed
 DDD 2015 2011 Workshop of Software
 Architects 2005 Hexagonal Architecture DomainDriven
 Design
  5. 6.13. Organisational Structure „In other words, your application‘s architecture mirrors

    the structure of the organization that developed it. It is important, therefore, to apply Conway‘s Law in reverse and design your organisation so that its structure mirrors your microservice architecture.“ - Chris Richardson -
  6. 7.1.1. Responsibilities defined by DDD & DevOps "You design it,

    you build it, 
 and then you run it“ - Michael Plöd -
  7. Sources 1 • [DLWEB], Documentation, https://domainlanguage.com/ddd/whirlpool/ • [MFESWEB], Event Sourcing,

    https://martinfowler.com/eaaDev/EventSourcing.html • [MIROWEB], Miro Application, https://miro.com • [AKWEB], Presentation, https://www.slideshare.net/aslamkhn/experiments-in-reasoning-227676025 • [GYCQRSWEB], CQRS, https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf • [ISAWEB], ISA Principles, https://isa-principles.org/ • [DDDWiki], DomainDriven Design, https://en.wikipedia.org/wiki/Domain-driven_design • [SCSWEB], Self Contained System, http://scs-architecture.org/ • [IESAB], Introducing EventStorming, Alberto Brandolini, leanpub.com • [DSSHHS], Domain Storytelling, Stefan Hofer, Henning Schwentner, leanpub.com • [USMJP], User Story Mapping, https://www.jpattonassociates.com/user-story-mapping/ • [EMMW], Example Mapping, https://cucumber.io/blog/bdd/example-mapping-introduction/ • [IMTK], Impact Mapping, https://blog-de.akquinet.de/2016/12/14/von-der-loesung-zum-problem- impact-mapping-mal-anders-herum/ • [WMSW], Wardly Map,https://medium.com/wardleymaps • [BDDWiki], Behavior-Driven Design, https://en.wikipedia.org/wiki/Behavior-driven_development • [HAWiki], Hexagonal Architecture, https://en.wikipedia.org/wiki/Hexagonal_architecture_(software) • [HAAC], Hexagonal Architecture, Alistair Cockburn, https://web.archive.org/web/20180822100852/ http://alistair.cockburn.us/Hexagonal+architecture • [15YDDD], DDD Europe, Domain-Driven Design: The First 15 Years, https://leanpub.com/ ddd_first_15_years
  8. Sources 2 • [AODDDBSM] The Anatomy of Domain-Driven Design -

    Booklet, Samual Knight & Scott Millett, https://leanpub.com/theanatomyofdomain-drivendesign • [PPPDDD], „Patterns, Principles, and Practices of Domain-Driven Design“, ISBN: 978-1-118-71470-6 • [HODDDBE], Hands On Domain-driven Design by example, Michael Plöd, https:// leanpub.com/ddd-by-example