Modularity and Decoupling, The Right Way


What if I told you that you can do the following 3 things?

- Have a more decoupled codebase without creating new interfaces
- Have a better-modularized codebase by creating fewer modules
- Remove all the implementation details from your test suites

We often try to solve this problem with new libraries, frameworks and even new languages that can create a false sense of decoupling and modularity.

But the answer is neither in the libraries nor in the frameworks. The answer is in the core of the Java language itself and it has been there since the early stages.

In this talk, you will learn how to organize your codebase in such a way that your code is really decoupled and modularized, and your test suites are going to be clean of implementation details.

SPEAKER: Carlos Chacin

Carlos is a passionate and very opinionated Java developer acting as a Senior Engineer at Groupon for the last 6 years. Carlos and his team are responsible for supporting the Groupon API platform and, throughout his career within the company, he led the development of the in-house Java framework created with the goal of leveraging most of the heavy work when building new microservices in a more robust, consistent and unified solution. Without a doubt, a very valuable contribution to consolidating Java as a building block at Groupon.

His journey with Java started around 15 years ago with Java 1.4. Since then, he has been following the evolution of the language and its ecosystem very closely, being his main interests in functional programming, unit testing, JavaEE.