Decomposing Java applications
Most Java developers happily use libraries in their applications. Many developers split their own code into what they call modules. The benefits of that approach are obvious. But why is it that some libraries/modules are easier to use then others? Why most of us end up having a big ball of mud sooner or later? Why simply cutting things down into smaller pieces and calling them libraries, modules, microservices, … does not always help? In this talk we’ll go one abstraction level above and look at the process of composing a Java application from components. But what is more important, we’ll see how to decompose an application into reusable components.