Concepts orientés-objet avancés appliqués au développement agile

Description de la formation

Ce cours revisite l’orientation objet sur l’angle de la conception de systèmes maintenables à l’aide des principes et bonnes pratiques orientées objet

Formation pratique sur la pensée objet pour professionnels désirant améliorer la maintenabilité de leur conception OO dans un environnement de développement itératif et Agile

Objectifs pédagogiques

À la fin de cette formation, le participant sera en mesure de :

  • Maîtriser les fondements OO.
  • Comprendre la décomposition d’une application d’entreprise en objets (conception/design OO).
  • Appliquer les principes de regroupement, de structuration et de communication entre les objets d’un système complexe.
  • Concevoir des systèmes OO de manière à favoriser la maintenabilité et faciliter le changement dans un contexte itératif.
  • Appliquer les principes S.O.L.I.D..
  • Comprendre certains modèles de conception d'entreprise (Repository, Factory, DTO).
  • Connaître la place et les différences entre les styles architecturaux (MVC, MVP, MVVM).
  • Connaître quelques modèles architecturaux (DDD, Clean Architecture ...).
  • Concevoir des applications faiblement couplées et cohésives.
  • Appliquer le paradigme OO dans un projet Agile.

Méthodologie

Plusieurs méthodes d’apprentissage et outils didactiques permettant de mesurer le progrès et l’intégration des concepts par les participants sont utilisés tout au long de la formation.

  • Exposé
  • Démonstration
  • Exercice informatique

Clientèle visée

Développeur, architecte et tout membre d’une équipe de développement

Particularité

Être familier avec un langage orienté objet. Les exercices pratiques pourront être réalisés en VB, C#, Java ou Ruby.

À savoir lorsque cette formation est en ligne

Nos formations en ligne sont diffusées sous forme de classes virtuelles interactives et nous travaillons avec la plateforme Zoom.

Chaque participant.e doit avoir un ordinateur avec un bon accès à Internet ainsi qu'une caméra, un micro et des haut-parleurs afin de participer à la formation. La caméra doit être fonctionnelle et être ouverte tout au long de la formation pour faciliter les échanges avec le formateur et le volet pratique de la formation.

Il est fortement recommandé d'avoir deux écrans : un pour suivre la formation et l'autre pour les exercices pratiques.

Vous devez avoir installé sur votre ordinateur : un IDE et Miro

    Fondements

    • Polymorphisme
    • Objets Valeurs (Value Objects)

    Interactions entre les objets d’un système

    • Tell don’t ask
    • Gestion des dépendances
    • Découpage des règles d’affaires basé sur l’interaction
    • Conception basée sur les comportements
    • Loi de Déméter

    Conception (design) et découpage des objets

    • Conception par concepts plutôt que par données
    • Principe de la responsabilité unique (SRP)
    • Principe de l’ouverture-fermeture (OCP)

    Abstraction

    • Abstraction-Instabilité (R. C. Martin)
    • Principe de substitution de Liskov (LSP)
    • Composition versus héritage
    • Principe de la ségrégation des interfaces (ISP)

    Conception par couches

    • Conception modulaire
    • Conception d'un domaine d'affaires (aperçu du DDD)
    • Séparation de l’infrastructure (persistance, UI, ORM, etc.)
    • Principe d’inversion des dépendances (DIP)

    Création, persistance et transport

    • Usines (Factories)
    • Entrepôts référentiels (Repositories)
    • Objet de transport (DTO)

    Relations entre les modèles architecturaux

    • DDD (survol)
    • Clean Architecture (survol)

Collaborateur

ELAPSE

Témoignages

"Très intéressant et très dynamique."
Karl, S.M.D. INFORMATIQUE INC.

Les clients qui ont suivi cette formation se sont aussi inscrits à :

JavaScript avancé
Tests unitaires automatisés et TDD
C# avancé