Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hands on Jigsaw

Avatar for louiznk louiznk
February 22, 2019

Hands on Jigsaw

Avatar for louiznk

louiznk

February 22, 2019

More Decks by louiznk

Other Decks in Programming

Transcript

  1. HELLO NEW WORLD! Mathieu Mure Explorateur full stack @ Zenika

    Lyon [email protected] @mathieumure 2 Louis Tournayre Navigateur back | DT @ Zenika Lyon [email protected] @_louidji
  2. “ Jigsaw permet d’avoir des applications et un JRE modulaire

    avec une surface d’exposition et des dépendances contrôlées 4
  3. Jigsaw TLDR; ➢ Un module c’est un ou plusieurs packages

    ➢ Certain de ces packages seront réutilisables (en bleu) ➢ D’autres seront internes et réellement inaccessibles depuis d’autres modules (en rouge) ➢ Un module peut dépendre d’autres modules 5
  4. ➢ Déclaration du module à la racine des sources dans

    module-info.java ➢ Dépendances vers d’autres modules via le mot clé requires ➢ Exposition des classes et API public via exports Fichier module-info.java module org.zenika.jigsaw { requires java.logging; requires org.zenika.jedi; requires gov.nasa.explore; requires io.vavr; exports org.zenika.jigsaw.public; } 6
  5. Visibilité / Accessibilité ? Accessibilité < JDK 9 ➢ public

    ➢ protected ➢ package ➢ private Accessibilité ≥ JDK 9 ➢ public to everyone ➢ public but only to friend modules ➢ public only within a module ➢ protected ➢ package ➢ private 7
  6. Itinéraire 9 ➢ ÉTAPE I LA MENACE DE LA CONFIGURATION

    ➢ ÉTAPE II LE GUERRE DU HELLO WORLD ➢ ÉTAPE III LA REVANCHE DES SITH MAVEN ➢ ÉTAPE IV GRADLE, UN NOUVEL ESPOIR ➢ ÉTAPE V YODA CONTRE-ATTAQUE