~/talk

Refactoring your code to Java 9 modules

Talkat JDD 2017 · 2017-10-03..10-04· [java, software-architecture]
slides:none on file

Migrating a monolith into Java 9 modules uses concrete steps: analyze with DeGraph to find cyclic package deps, refactor packages into model / db / ui layers, add module descriptors via module-info.java, and replace direct UI–domain links with interfaces and the ServiceLoader to break cycles. Example converts a 42,000-class, 3,800-package OSGi codebase split into 285 plugins into a small vet app, then duplicates the pet module into a car module; building with jlink produces a ~40 MB runtime and the modular apps run.

AI-written summary · about

  1. 0:00Introduction to refactoring
  2. 10:48Identifying modules in code
  3. 15:02Java 9 module system overview
  4. 18:13Creating module-info.java
  5. 24:14Refactoring to modules
  6. 31:43Resolving cyclic dependencies
  7. 33:12Using services for dependencies
  8. 38:57Replacing pets with cars
  9. 41:47Compiling and deploying modules
  10. 43:14Summary and benefits of modules
  11. 46:47Q&A and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.