Dal corso: Programmazione Java avanzata
Comprendere i moduli in Java - Tutorial Java
Dal corso: Programmazione Java avanzata
Comprendere i moduli in Java
- [Istruttore] In Java 9 è stato introdotto un nuovo sistema di moduli. La modularità semplifica la scrittura di codice ben incapsulato suddividendo le basi di codice di grandi dimensioni in piccole sezioni. Allora perché è stato introdotto un sistema a moduli? A questa domanda si può rispondere osservando il JDK stesso. Prima di Java 9, il JDK era un'enorme struttura monolitica. Anche se volevi scrivere solo una piccola applicazione, dovevi comunque avere l'intero enorme JDK sulla tua macchina. Questo anche se non ne stavi usando molto. Un altro problema era che il vecchio codice inutilizzato o il vecchio codice con vulnerabilità di sicurezza era molto difficile da rimuovere. Rimuoverlo porterebbe a problemi di compatibilità con le versioni precedenti. La soluzione a questo problema è stata l'introduzione di moduli. Ciò significava che il JDK poteva essere suddiviso in piccole sezioni. Il vecchio codice legacy potrebbe essere rimosso, così come i codici che non vengono utilizzati spesso. Se necessario, è possibile aggiungere qualcosa in più. Se è necessario utilizzare molti dei moduli disponibili, questi possono essere facilmente importati nell'applicazione. Quindi il sistema di moduli è stato utilizzato per spezzare il JDK stesso. Ma può essere utilizzato anche per la creazione di applicazioni Java. Anche le applicazioni Java esistenti possono essere rese modulari. Java viene spesso utilizzato per la creazione di applicazioni di grandi dimensioni. E le enormi basi di codice non sono insolite. La strutturazione di applicazioni di grandi dimensioni può essere molto difficile. Ma la modularità è uno strumento utile per ridurne la complessità. Che cos'è un modulo? Un modulo è un gruppo di codice correlato. Quindi contiene del codice e potrebbe contenere anche altre risorse. Deve anche avere un nome. Come i pacchetti in Java, i nomi dei moduli risiedono nello spazio dei nomi globale e devono essere univoci. Ciò significa che ogni singolo modulo Java esistente dovrebbe avere un nome diverso. Con i pacchetti, questo si ottiene spesso utilizzando un nome di dominio aziendale, ad esempio com.mycompany.mypackage. Una cosa simile può essere fatta con i moduli. Ad esempio, puoi chiamarlo com.mycompany.mymodule. Un modulo contiene anche alcune informazioni sul modulo stesso. Per impostazione predefinita, tutto in un modulo è nascosto al mondo esterno. Anche se una classe è pubblica, in realtà non è accessibile al di fuori del modulo. Ma ogni modulo ha un descrittore di modulo. Questo può essere utilizzato per specificare se il codice nel modulo deve essere accessibile ad altri moduli. Il descrittore può essere utilizzato anche per indicare se verrà utilizzato codice da altri moduli. Questo è un modo utile per assicurarsi che il codice sia incapsulato. Solo il codice necessario può essere reso visibile al mondo esterno. Inoltre, rende la strutturazione di basi di codice di grandi dimensioni molto più gestibile.
Fai pratica con gli esercizi mentre impari la teoria
Scarica i documenti che l’istruttore utilizza per tenere i corsi. Segui e impara guardando, ascoltando ed esercitandoti.