Book description
Kick-start your modular programming journey and gear up for the future of Java development
About This Book
- Master design patterns and best practices to build truly modular applications in Java 9
- Upgrade your old Java code to Java 9 with ease
- Build and run a smooth functioning multi-module application.
Who This Book Is For
This book is written for Java developers who are interested in learning and understanding the techniques and best practices to build modular applications in Java. The book assumes some previous programming experience in Java 8 or earlier, familiarity with the basic Java types such as classes and interfaces, as well as experience in compiling and executing Java programs.
What You Will Learn
- Get introduced to the concept of modules and modular programming by working on a fully modular Java application
- Build and configure your own Java 9 modules
- Work with multiple modules and establish inter-module dependencies
- Understand and use the principles of encapsulation, readability, and accessibility
- Use jlink to generate fully loaded custom runtime images like a pro
- Discover the best practices to help you write awesome modules that are a joy to use and maintain
- Upgrade your old Java code to use the new Java 9 module system
In Detail
The Java 9 module system is an important addition to the language that affects the way we design, write, and organize code and libraries in Java. It provides a new way to achieve maintainable code by the encapsulation of Java types, as well as a way to write better libraries that have clear interfaces. Effectively using the module system requires an understanding of how modules work and what the best practices of creating modules are.
This book will give you step-by-step instructions to create new modules as well as migrate code from earlier versions of Java to the Java 9 module system. You'll be working on a fully modular sample application and add features to it as you learn about Java modules. You'll learn how to create module definitions, setup inter-module dependencies, and use the built-in modules from the modular JDK. You will also learn about module resolution and how to use jlink to generate custom runtime images.
We will end our journey by taking a look at the road ahead. You will learn some powerful best practices that will help you as you start building modular applications. You will also learn how to upgrade an existing Java 8 codebase to Java 9, handle issues with libraries, and how to test Java 9 applications.
Style and Approach
The book is a step-by-step guide to understanding Modularity and building a complete application using a modular design.
Publisher resources
Table of contents
- Preface
- Introducing Java 9 Modularity
- Creating Your First Java Module
- Handling Inter-Module Dependencies
- Introducing the Modular JDK
- Using Platform APIs
- Module Resolution, Readability, and Accessibility
- Introducing Services
- Understanding Linking and Using jlink
-
Module Design Patterns and Strategies
- Designing modules
- Modularizing by concerns
- Modularizing by layers
- Modularizing by change patterns
- Designing API
-
Java modules coding patterns and strategies
- Pattern 1 - Public interface, private implementation, and factory class
- Pattern 2 - Services for multiple dynamic implementations
- Pattern 3 - Optional dependencies
- Pattern 4 - Optional dependencies using services
- Pattern 6 - Bundle model classes as separate sharable modules
- Pattern 7 - Open modules for reflection
- Pattern 8 - Use tooling for version control
- Pattern 9 - Design for changes
- Pattern 10 - Protect against dependency leakage
- Pattern 11 - Aggregator and facade modules
- Example
- Summary
- Preparing Your Code for Java 9
- Migrating Your Code to Java 9
- Using Build Tools and Testing Java Modules
Product information
- Title: Modular Programming in Java 9
- Author(s):
- Release date: August 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787126909
You might also like
book
Java 9: Building Robust Modular Applications
Mastering advanced features of Java and implement them to build amazing projects About This Book Take …
book
Java Closures and Lambda
Java Closures and Lambda introduces you to significant new changes to the Java language coming out …
video
JavaFX Programming, Part I
Overview Description All lessons walk viewers through JavaFX code examples to reinforce the important concepts. The …
book
Refactoring in Ruby
The First Hands-On, Practical, All-Ruby Refactoring Workbook! Refactoring–the art of improving the design of existing code–has …