Skip to content

Instantly share code, notes, and snippets.

@rubenrubiob
Last active December 17, 2019 17:36
Show Gist options
  • Select an option

  • Save rubenrubiob/f2de5bd591f7833ed0a01cdc1e31b065 to your computer and use it in GitHub Desktop.

Select an option

Save rubenrubiob/f2de5bd591f7833ed0a01cdc1e31b065 to your computer and use it in GitHub Desktop.
Applying hexagonal architecture to a 10 year old monolith

Hexagonal architecture is a pattern of design that aims for a separation of concerns. It produces a decoupled system, where business rules are independent of the framework, UI or the database used.

There are two big benefits of using it. First, it is possible to test our business rules without the need of any UI, database or webserver. Second, it is possible to change any concrete implementation without affecting the core of our application, making framework updates easy.

In this talk, we will see the ongoing application of hexagonal architecture to Entrápolis, our ticketing product. Thought its code is not old, a dozen of developers have worked on it, mostly without any proper guidance, resulting in a code hard to maintain, hard to optimize and hard to add new features.

We will not only see the benefits of applying hexagonal architecture to our monolith, but also the missteps and drawbacks we encountered.

@rubenrubiob
Copy link
Author

I just submitted again to helpmeabstract.com in case that someone is willing to take a look at the new, improved version. If not, that would be okay, I already had great help :)

@remotesynth
Copy link

This looks much better to me. Best of luck with your submission!

@rubenrubiob
Copy link
Author

@remotesynth Thank you! I think it looks much better now, thank you for your comments! ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment