Java 9 brings modules as a core concept to the platform, but it’s more than just a language feature. With modules in Java 9, we can improve the design of code to increase maintainability and extensibility. As with every design principle, modularity requires thought and trade-offs to really reap the benefits.
This session covers design practices for making codebases more maintainable and extensible. You will also learn about trade-offs to help you make the best choices. Topics include hiding implementations, using services for extensibility, API modules, avoiding cycles, optional dependencies, and dynamically loading modules. Familiarity with modules is helpful but not required.
Bio Sander Mak:
Sander is a Fellow at Luminis in The Netherlands. At Luminis, he crafts modular and scalable software, most often on the JVM but with a touch of TypeScript where needed. He is the author of the O’Reilly book ‘Java 9 Modularity’ and an avid conference speaker. Sander loves sharing knowledge, through his blog at http://branchandbound.net, and also as Pluralsight instructor.