Anzeige
Anzeige

Más contenido relacionado

Más de Comsysto Reply GmbH(20)

Anzeige

ljug-meetup-2023-03-hexagonal-architecture.pdf

  1. ANATOMIE EINER HEXAGONALEN ARCHITEKTUR Lightweight Java User Group München 20. März 2023
  2. OTTO Solutions Architect @ Comsysto Reply SVEN Solutions Architect @ Comsysto Reply
  3. A little bit of history …
  4. Hexagonal Architecture 2005 Alistair Cockburn “Ports & Adapters Architecture” - Separation of Concerns - (UI & DB) Testability & Mockability - “Primary/Secondary” or “Driving/Driven” Adapters - Use Cases as Application Boundary https://alistair.cockburn.us/hexagonal-architecture/
  5. Onion Architecture 2008 Jeffrey Palermo - Separation of Concerns via Controlled Coupling - Application Core: Object Model (Domain Model) with Business Rules - Externalize Infrastructure - Relies on Dependency Inversion https://jeffreypalermo.com/2008/07/the-onion-architecture-part-1/
  6. Clean Architecture 2012 Robert C. Martin - The Dependency Rule - Entities encapsulate Business Rules - Use Cases as Layer - What and how to cross boundaries: Flow - Different wording, similar concepts https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
  7. Enter the Microservice Hype 2012+ - Microservices - Domain-Driven Design (DDD) - CQRS - … - We need to talk! DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
  8. Let’s start with the essentials …
  9. There is one essential thing … … there is the inside and the outside … Alistair Cockburn Dennis Hamilton - https://www.flickr.com/photos/orcmid/1850093537/
  10. There is one essential thing … .. and it needs to be connected …
  11. Why should I care?
  12. Separate Technologies Does this look familiar?
  13. Does this look familiar? Separate Technologies
  14. Separate Representations Have it your way …
  15. Okay, what do I have to do?
  16. A Layered Architecture …
  17. … and a Hexagonal Architecture …
  18. It’s a Question of Ownership In a layered architecture …
  19. It’s a Question of Ownership In a hexagonal architecture …
  20. It’s a Question of Dependency
  21. It’s a Question of Dependency
  22. What's inside the Hexagon?
  23. Inside the Inner Hexagon
  24. The most important parts
  25. There is another thing … … but it is often not so important to differentiate …
  26. Things to note about ports …
  27. Incoming vs. Outgoing Ports … the same goes for adapters …
  28. Incoming Ports … are often use case centric …
  29. Outgoing Ports … are often domain object centric …
  30. What is my domain?
  31. What is my domain anyway? https://github.com/ddd-crew/core-domain-charts
  32. Distilled to …
  33. - Think domain first - Use the domain objects in the ports if possible - Isolate technologies in the adapters - Move business logic as far to the center as possible It’s not so complicated
  34. - Better testability - Easier to understand - Easier to adapt to technological changes - Easier to guard against regressions - Easier to focus on business code And the benefits are …
  35. DANKE FÜR EURE AUFMERKSAMKEIT! https://www.comsystoreply.com @comsysto www.comsysto.tv
Anzeige