DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Avantages du module Java avec exemple
    Uncategorized

    Avantages du module Java avec exemple

    février 22, 2023
    Avantages du module Java avec exemple
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Java SE 9 a introduit les systèmes de modules Java. Il ne doit pas être confondu avec les modules de maven ou IntelliJ Idea, etc. Le module Java SE 9 est une nouvelle fonctionnalité prenant directement en charge Java.

    Dans cet article, nous présenterons rapidement ce que fait le système de module Java et comment il bénéficie de l’écriture de code plus sécurisé et structuré.

    Avantages de l’utilisation du module Java

    Certains des avantages de l’utilisation du code Java modulaire sont les suivants :

    Encapsulation forte : pas de classes involontaires dans l’espace global

    Un module Java doit indiquer explicitement quels packages Java doivent être exportés (disponibles) vers d’autres modules Java. Cela rend l’encapsulation forte au niveau du module.

    Réduire les dépendances au moment de la compilation

    Lorsque nous avons des dépendances sur d’autres packages, un module Java doit indiquer explicitement quels modules sont nécessaires. Cela fait gagner du temps car, avec les modules, la JVM peut localiser rapidement les dépendances et les charger.

    Taille réduite des ressources déployables

    Comme nous connaissons toutes les dépendances dont notre application a besoin, nous ne pouvons expédier que les packages requis, ce qui réduit la taille de l’application.

    Améliorer la fiabilité du déploiement

    Avec les dépendances spécifiées via la définition du module, tous les packages dépendants sont déjà connus à partir du moment du développement. Cela signifie que nous n’aurons pas de problèmes après le déploiement où une exception d’exécution se produit en raison de dépendances manquantes.

    Comment définir le module

    Un module est décrit à l’aide d’un fichier nommé module-info.java. La définition de module contient les informations suivantes :

    Dans la section suivante, nous allons créer une application Java modulaire avec deux modules, ce qui aiderait et fournirait également un bon début pour explorer les modules Java.

    Notre exemple d’application modulaire

    Nous allons écrire une petite application contenant deux modules.

    Module 1 (car.shop) : Le premier module est un module Car Shop qui fournit diverses fonctionnalités comme réparer une voiture, changer les pneus, etc. Cela dépend des classes DTO/Model fournies par le module 2. Voici la définition d’un module car.shop .

    module car.shop {
    	exports car.shop;
    	requires car.common;
    }

    Module 2 (car.common) : fournit diverses classes DTO ; voici la définition de ce module.

    Ici, dans ce module, nous exportons un package avec le nom car.common.model. Cela signifie que même si ce module particulier peut avoir de nombreux packages, nous nous assurons que les packages sont encapsulés. Seuls les packages qui, selon nous, devraient être disponibles pour le monde extérieur doivent être exportés.

    module car.common {
    	exports car.common.model;
    }

    Exemple de code

    Voyons notre exemple de classe de service, qui est défini dans le module 1.

    package car.shop;
    
    import car.common.model.Car;
    
    public class CarService {
    
    	public static void main(String[] args) {
    		Car car = new Car();
    		changeTire(car);
    	}
    
    	public static void changeTire(car.common.model.Car car) {
    		System.out.println("Car Service");
    	}
    
    }
    

    Le code ci-dessus semble très familier, rien de spécial à ce sujet. Nous définissons une méthode statique changeTire qui prend un paramètre de type car.common.model.Car.

    Maintenant, ce package particulier car.common.model est défini dans le module 2, et puisque nous avons défini les deux modules, le système sait au moment de la compilation que nous avons une dépendance et comment la résoudre.

    Jusqu’ici, ça a l’air bien, mais alors quel est l’avantage ?

    L’avantage est que nous dictons la relation entre les packages au niveau du module. Imaginez maintenant qu’un car.common contient de nombreux autres packages tels que car.internal, car.workin.progress, car.private.package, etc. sans Java modulaire, il n’était pas possible de sélectionner uniquement les packages requis dans l’application, et nous devions regrouper tous les packages, que nous en ayons besoin ou non.

    Avec les modules Java, non seulement nous pouvons encapsuler les packages qui doivent être disponibles pour le monde extérieur (exporter car.common), mais nous nous assurons également que les classes ou les packages qui ne doivent pas être exposés sont cachés au monde extérieur.

    Le code source complet du projet Java Module est disponible sur GitHub.

    Résumé

    Il n’est pas obligatoire d’utiliser le programme Java de manière modulaire. Pourtant, il fournit définitivement un nouvel outil entre les mains des développeurs pour utiliser ce nouveau concept pour écrire un code plus efficace (petite taille) et sécurisé (encapsulation au niveau du package).

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.