Programmation Java : Les bonnes pratiques

Formation #516 - 4 jours

La connaissance du langage Java n'est pas suffisante pour exploiter tout son potentiel. Les développeurs doivent donc exploiter les bonnes pratiques et les techniques actuelles de développement de logiciels. Dans cette formation Java, vous obtenez les compétences pour résoudre les problèmes concrets de développement de logiciels et pour fournir des applications performantes.

  • Créer des applications Java fiables et évolutives en appliquant des bonnes pratiques
  • Appliquer les principes du développement piloté par les tests pour faciliter la maintenance du code de vos programmes
  • Résoudre les problèmes d'architecture grâce à des design patterns éprouvés
  • Créer des applications multithread robustes et éviter les problèmes d'accès concurrents
  • Réaliser le profilage d'une application et identifier les goulots d'étranglement

  • Développer les tests en même temps que les classes
  • Utiliser la refactorisation pour rendre le code moins difficile à maintenir
  • Profilage d'un logiciel et amélioration des temps de réponse
  • Définir des stratégies de gestion de la mémoire pour répondre aux besoins des programmes
  • Utiliser des API Java avancées pour la programmation multithread

Développeurs, architectes et toute personne impliquée dans des projets Java et souhaitant étendre ses compétences en programmation Java. Des connaissances de Java du niveau de la formation 471, Programmation Java : Les fondamentaux, sont supposées acquises.

  • Comprendre le rôle des bonnes pratiques
  • Identifier les principales caractéristiques des logiciels de qualité
  • Organiser les classes, les packages et les sous-systèmes dans des couches
  • Appliquer les principes SOLID pour concevoir vos applications

Framework de tests

  • Créer et mettre à jour des tests JUnit
  • Utiliser les fonctionnalités avancées de JUnit
  • Tester du code en levant des exceptions

Surveiller l'intégrité du logiciel avec des bibliothèques de journalisation

  • Configurer la journalisation avec log4j et SLF4J
  • Minimiser l'impact de la journalisation sur les performances

Créer des matchers de Hamcrest et des objets factices

  • Développer des matchers de Hamcrest personnalisés
  • Tester avec des objets factices

Utiliser des design patterns courants

  • Observer
  • Iterator
  • Template Method
  • Strategy
  • State
  • Singleton
  • Data Accessor Object
  • Data Transfer Object
  • Composite
  • ServiceLocator
  • Proxy
  • Factory

Refactoriser le code existant

  • Identifier les besoins de changement
  • Clarifier les mécanismes du changement
  • Développer des tests pour les classes et les méthodes existantes

Améliorer la sécurité des types avec des classes génériques et des types énumérés

  • Créer des méthodes et des classes génériques
  • Parcourir des hiérarchies de classes génériques
  • Implémenter des types énumérés pour les ensembles de constantes fixes

Utiliser des annotations pour ajouter des métadonnées

  • Annotations prédéfinies et personnalisées
  • Méta-annotations

Modifier le comportement de l'exécution avec la réflexion

  • Récupérer des données des méthodes et des classes de manière dynamique
  • Appliquer des conventions de nommage aux méthodes
  • Ajouter des informations dans le code avec les annotations
  • Évaluer les points négatifs de la réflexion

Mesurer et améliorer les performances

  • Évaluer les temps de réponse
  • Lancer des tests de charge et de stress
  • Développer des stratégies d'amélioration des performances

Récupération d'espace mémoire

  • Examiner les métriques du ramasse-miettes
  • Choisir les algorithmes adéquats pour les ramasse-miettes
  • Éviter les finaliseurs
  • Éviter les fuites de mémoire avec les types référence

Exploiter tout le potentiel des threads

  • Écrire du code fiable pour garantir la sécurité des threads
  • Éviter les problèmes liés aux accès concurrents et aux interblocages
  • Utiliser le framework Executors

Protéger une application multithread

  • Synchroniser et partager les données entre les threads
  • Gérer les problèmes de performances liés à la synchronisation

Alternatives à la synchronisation

  • Le modificateur volatile
  • Remplacer le partage des données par les variables ThreadLocal

Octroyer des responsabilités aux composants

  • Traduire les appels des méthodes avec le pattern Adaptor
  • Ajouter des comportements avec un Proxy

Centraliser la création des objets

  • Utiliser des fabriques (factories) pour mettre en place un couplage faible
  • Implémenter l'inversion de contrôle (IoC, Inversion of Control)

Sessions planifiées inter-entreprises

Contactez-nous au 01 49 68 53 00 pour planifier une session.

Demander un devis

Intra-entreprise

Organisez cette formation Learning Tree sur votre lieu de travail avec notre solution intra-entreprise.

Demander un devis

Crédits ECTS : 2

Formation éligible aux parcours diplômants de SUPINFO International University.

Financez votre formation

  • Programmes Visa Société et Passeport
  • Réduction Return to Learn

Pour en savoir plus, cliquez ici.

Notre catalogue

Vous souhaitez parcourir toute notre offre de formation ultérieurement ?

Téléchargez notre catalogue

Suivez une formation Learning Tree et profitez des avantages de SUPINFO International University !

Pour toute formation que vous aurez suivi chez Learning Tree, SUPINFO International University vous offre pendant un an le statut Advanced Member d'une valeur de 250€.
Ce statut privilégié vous permettra de profiter de ressources pédagogiques sélectionnées par SUPINFO :

* Services disponibles prochainement.