Designing for Modularity with Java 9

preview_player
Показать описание
Sander Mak, Senior Software Engineer, Luminis Technologies

Paul Bakker, Software Engineer, Netflix

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 find out 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. The speakers are the authors of Java 9 Modularity (O’Reilly).
Рекомендации по теме
Комментарии
Автор

Very nice presentation, ServiceLoader looks much more interesting indeed. Loading services dynamically (kind of "plug-ins") is actually quite clean, I did this in times of Java 5 with creating classloaders and it feels quite similar. Both are hierarchies, so superficially they are similar. However actually messing with concrete class loaders (or implementing your own to customize class resolution) was kinda messy, I hope loading module layers feels cleaner.
Thank you for a bit more advanced presentation than you typically find about Java 9 modules.

virgo
welcome to shbcf.ru