Programmation Java : Les bonnes pratiques

Formation #516 - 4 jours

Crédits ECTS* : 2

*formation éligible aux parcours diplômants de SUPINFO International University

Sessions planifiées

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

Intra-entreprise

Learning Tree au cœur de votre entreprise.

Demander un devis

À propos de cette formation :

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.

Vous apprendrez à :

  • 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

Travaux Pratiques :

  • 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

À qui s'adresse cette formation ?

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.

Contenu de cette formation :

Programmation efficace en Java

  • 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

Développement piloté par les tests

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

Les design patterns

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

Étendre des applications avec la métaprogrammation Java

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

Optimisation des performances

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

Séparation des préoccupations

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)

Inscrivez-vous dès maintenant - sans risque

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

  • Pas de paiement à l'avance
  • Payez jusqu'à 30 jours après la formation
  • Votre satisfaction est garantie - ou vous ne payez pas la formation

Vous pouvez organiser cette formation dans votre entreprise

Organisez une formation Learning Tree sur votre lieu de travail avec notre solution intra-entreprise.
Que votre entreprise nécessite une seule formation ou un cursus complet, Learning Tree dispose de l'infrastructure, des technologies, des formateurs experts et de la maitrise pour gérer tous les aspects de votre formation - où et quand vous le souhaitez.

Suivez votre formation avec AnyWare d'où vous voulez

Suivez nos formations chez vous, du bureau ou dans le centre AnyWare de Learning Tree le plus proche et bénéficiez du même enseignement pratique de qualité délivré par nos formateurs.
AnyWare c'est notre plateforme de formation présidentielle à distance par Internet.

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.

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.