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)

Cette formation vous est présentée par Michel Koenig, Docteur en informatique et Consultant Développement Java

Crédits ECTS : 2

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

Sessions planifiées

Appelez le 01 49 68 53 00 ou inscrivez-vous en ligne en sélectionnant une date ci-dessous :

16 mai 2017 - 2220 €
Paris - AnyWare
19 septembre 2017 - 2220 €
Paris - AnyWare
5 décembre 2017 - 2220 €
Paris - AnyWare

Inscription sans risque : pas de paiement à l'avance, réglement jusqu'à 30 jours après la formation, satisfaction garantie ou vous ne payez pas la formation.

Financez votre formation

Le financement de votre formation ne doit pas être un obstacle. Nos conseillers vous aiderons dans vos démarches avec les OPCA par exemple.
Profitez également de la réduction Return to Learn qui récompense les participants ayant déjà suivi une formation Learning Tree.
Pour en savoir plus, cliquez ici.

Votre formation à distance et en direct !

Sans frais supplémentaires, depuis tout lieu possédant une connexion Internet, connectez-vous en temps réel et en direct à une session dispensée par nos formateurs grâce à AnyWare™, la plateforme de formation en distanciel de Learning Tree.

Intra-entreprise

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

Demander un devis

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.