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

Hexagonal Architecture - framework is just a detail

Marko Kunic
February 27, 2019

Hexagonal Architecture - framework is just a detail

There are many architectures you can choose from when building an application. Every developer should at least be aware of the Hexagonal Architecture, which allows your application to be technology agnostic. In this talk, I will explain how Hexagonal Architecture works, followed by some diagrams and code examples. I will express my opinion about some parts of that architecture, go over some cases where I was really glad I used it and hopefully, after this talk you will be able to start using it in your future projects.

Marko Kunic

February 27, 2019
Tweet

More Decks by Marko Kunic

Other Decks in Programming

Transcript

  1. @kunicmarko20
    Hexagonal Architecture
    Framework is just a detail

    View full-size slide

  2. @kunicmarko20
    Framework is just a detail

    View full-size slide

  3. @kunicmarko20

    View full-size slide

  4. @kunicmarko20
    Inside
    Outside

    View full-size slide

  5. @kunicmarko20

    View full-size slide

  6. @kunicmarko20
    Ports
    Domain

    View full-size slide

  7. @kunicmarko20
    DB Queue
    External
    Service
    User Interface
    Domain
    Infrastructure

    View full-size slide

  8. @kunicmarko20
    Examples

    View full-size slide

  9. @kunicmarko20

    View full-size slide

  10. @kunicmarko20

    View full-size slide

  11. @kunicmarko20

    View full-size slide

  12. @kunicmarko20

    View full-size slide

  13. @kunicmarko20
    Code Examples

    View full-size slide

  14. @kunicmarko20

    View full-size slide

  15. @kunicmarko20

    View full-size slide

  16. @kunicmarko20

    View full-size slide

  17. @kunicmarko20

    View full-size slide

  18. @kunicmarko20

    View full-size slide

  19. @kunicmarko20

    View full-size slide

  20. @kunicmarko20

    View full-size slide

  21. @kunicmarko20

    View full-size slide

  22. @kunicmarko20

    View full-size slide

  23. @kunicmarko20

    View full-size slide

  24. @kunicmarko20

    View full-size slide

  25. @kunicmarko20

    View full-size slide

  26. @kunicmarko20
    Deptrac

    View full-size slide

  27. @kunicmarko20

    View full-size slide

  28. @kunicmarko20

    View full-size slide

  29. @kunicmarko20
    deptrac analyze depfile.yml

    View full-size slide

  30. @kunicmarko20

    View full-size slide

  31. @kunicmarko20
    When to use Hexagonal Architecture?

    View full-size slide

  32. @kunicmarko20
    Next steps

    View full-size slide

  33. @kunicmarko20
    Next steps
    ● Hexagonal with Layered Architecture

    View full-size slide

  34. @kunicmarko20
    Next steps
    ● Hexagonal with Layered Architecture
    ● Hexagonal with CQRS

    View full-size slide

  35. @kunicmarko20
    Next steps
    ● Hexagonal with Layered Architecture
    ● Hexagonal with CQRS
    ● Hexagonal with DDD

    View full-size slide

  36. @kunicmarko20
    https://twitter.com/kunicmarko20
    https://github.com/kunicmarko20
    [email protected]
    Questions?

    View full-size slide