Elapse

Agile Architecture and Design with Robert C. Martin (SOLID/PPP)

Résumé

Robert C. Martin présente "Agile Architecture and Design (SOLID/PPP)".

Durée: 2 jours

Cette formation n'est actuellement pas au calendrier, mais elle est disponible sur demande en formation privée ou sur mesure.

Envoyer >

Click here for English version (or scroll down) 

L'équipe d'Elapse Technologies et le Service du perfectionnement de l'École de Technologie Supérieure (ÉTS) sont fières de présenter la formation "Agile Architecture and Design (SOLID/PPP)" de Robert C. Martin (Uncle Bob) à Montréal.

Description du cours

Cette formation agile permet d'approfondir SOLID, des principes fondamentaux en conception orientée-objet et en développement Agile. Les participants apprendront à distinguer les caractéristiques d'une conception et d'une architecture saine, solide et sensée.

Ils verront quels sont les patrons de conception et les pratiques qui permettent de créer de telles architectures. Une attention spéciale sera portée à la conception d'une architecture de grande envergure.

Ne manquez pas cette chance unique d'apprendre de l'un des professionnels les plus expérimenté et respecté de l’industrie comme en témoignent les participants ayant assisté à cette formation unique dans le vidéo ci-dessous (en anglais seulement).

M. Martin est reconnu pour sa capacité à vulgariser et à promouvoir les principes, les modèles de conception et les techniques de programmation garantes de succès. Cette formation vous permettra d’apprendre par la théorie, des études de cas et des exercices pratiques. Connaître et appliquer les bonnes pratiques de programmation décuplera votre productivité et celle de votre équipe.

À propos de Robert C. Martin

Robert C. Martin est un expert reconnu mondialement dans le développement logiciel et l'un des signataires originaux du Manifeste Agile. Ce pionnier est aujourd'hui reconnu comme l'une des personnes les plus influentes en développement Agile.

Figure de proue du développement logiciel, il demeure un ardent promoteur et initiateur des meilleures pratiques de développement logiciel comme le démontre son blogue.

En plus d'avoir travaillé sur des centaines de projets logiciels dans les 40 dernières années, il est l’auteur de plusieurs livres d’importance à propos de l’Agilité, les bonnes pratiques de programmation, l’Extreme Programming, l’UML et la programmation orientée objet.

Objectifs de la formation

  • Comprendre et appliquer les principes de la conception orienté-objet de gestion des dépendances
  • Apprendre des pratiques professionnelles qui favorisent le succès des projets de développement logiciel
  • Apprendre les patrons essentiels de conception, comment et quand les utiliser
  • Apprendre comment se servir du TDD de façon efficace dans le contexte de la réalisation des ces patrons de conception et dans l'utilisation des différentes pratiques présentées

Contenu

Note: La formation se déroulera en anglais. 

Programmer pour la maintenance et la lisibilité

  • Les problèmes impliqués
  • Les objectifs
  • Les formes de dégradation du code
  • Les attributs d'une bonne conception
  • Les qualités du code propre
  • Responsabilités professionnelles
  • L'automatisation des tests, le TDD et les pratiques de réingénierie du code
  • Réingénierie du code

Le "Dependency Inversion Principle"

  • Les problèmes de la programmation procédurale
  • La programmation orienté objet
  • Le problème pris en charge par le DIP
  • Le "DIP"
  • Heuristiques d'inversion des dépendances
  • Quand le DIP est-il approprié ou non
  • Exemple de violation du DIP
  • Exemple de conformité au DIP

L' "Open⁄Closed Principle"

  • Problèmes pris en charge par l'OCP
  • L'OCP
  • Quand l'OCP est-il approprié ou non
  • Exemples de violation du OCP
  • Exemples de conformité au OCP

L' "Interface Segregation Principle"

  • Problèmes pris en charge par l'ISP
  • L'ISP
  • Exemples de violation du ISP
  • Exemples de conformité au ISP  
  • Quand l'ISP est-il approprié ou non
 

Le "Liskov Substitution Principle"

  • Problèmes pris en charge par le LSP
  • Le LSP
  • Exemples de violation du LSP
  • Exemples de conformité au LSP 
  • La relation entre le LSP et l'OCP
  • Quand une "instance de" n'est-elle pas un problème de LSP

La loi de Demeter (Law of Demeter)

  • Problèmes pris en charge par la LoD
  • Exemples de violation du LoD
  • Exemples de conformité au LoD  
  • Quand la LoD est-elle appropriée ou non
  • Discussion pour ou contre

Les pratiques qui supportent les principes

  • Conception simple (Simple Design)
  • Automatisation des tests
  • TDD (Test Driven Development)
  • Réingénierie (Refactoring)
  • Travail d'équipe (Teamwork)
  • Programmation en binôme (Pair Programming)
  • Partage du code (Collective Ownership)
  • Sessions de conception rapide (Quick Design Sessions)
  • Intégration continue (Continuous Integration)
  • Revue de code⁄conception

Méthodologie

Présentations interactives basées sur des cas concrets, démonstrations et exercices pratiques, échanges sur les cas concrets avec les participants.

Public visé

Architecte développeur ou toute autre personne ayant à développer des logiciels. 

Cette formation est conçue pour des architectes, concepteurs et développeurs de tous les niveaux. Les débutants  pourront apprivoiser principes, patrons de conception et pratiques, alors que les développeurs plus expérimentés pourront raffiner leurs habilités et compétences en apprenant comment utiliser ces concepts de façon plus efficace.

Préalables

Être familier avec la programmation orientée-objet.

 


Elapse Technologies and the Service du perfectionnement de l'École de Technologie Supérieure (ÉTS) are proud to present Robert C. Martin's (Uncle Bob) "Agile Architecture and Design (SOLID/PPP)" class in Montreal.

Course description

This course is a deep dive into the well-known SOLID principles of Agile and Object Oriented Design. Students will learn the characteristics of sound Object--Oriented designs and architecture, and patterns and practices that create them. Principles include: The Single Responsibility Principle, The Open Closed Principle, The Liskov Substitution Principle, The Interface Segregation Principle, The Dependency Inversion Principle, and many others. Special attention is paid to Component oriented design, and the principles and patterns of large--scale component architecture.

To see why you should attend this unique class, click here.

M. Martin is a story teller. He his known for his ability to explain difficult principles, concepts and practices in his own unique and flamboyant way. You will learn to become a better programmer through a mix of theory, case studies and practical exercises. Understanding and applying these programming practices will improve your team's productivity as well as your own. 

 

About Robert C. Martin 

Robert C. Martin has been a software professional since 1970. In the last 40 years, he has worked in various capacities on literally hundreds of software projects. He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, and C++ Programming. He has published dozens of articles in various trade journals. Today, He is one of the software industry's leading authorities on Agile software development and is a regular speaker at international conferences and trade shows. He is a former editor of the C++ Report and currently writes a monthly Craftsman column for Software Development magazine.

 

Course objectives

By the end of this course, you will know how to:

  • Understand and apply the principles of object--oriented design and dependency management
  • Learn professional practices that make projects succeed
  • Learn important design patterns and how and when to apply them
  • Be able to apply Test--Driven Development in the context of Object--Oriented Design Principles and Patterns

 

Content

Program for readability

  • The Problems
  • The Objectives
  • Forms of Software Rot
  • Attributes of a Good Design
  • Clean Code Qualities
  • Professional Responsibilities
  • Automated testing, TDD and Refactoring Practices Review
  • Refactoring

Dependency Inversion Principle

  • Problems with Procedural Programming
  • Object--Oriented Programming
  • Problem addressed by DIP
  • The Dependency Inversion Principle
  • Dependency Inversion Heuristics
  • When is DIP appropriate⁄inappropriate
  • Example design violating DIP
  • Example designs conforming to DIP

Open⁄Closed Principle

  • Problem addressed by OCP
  • The Open⁄Closed Principle
  • When is OCP appropriate⁄inappropriate
  • Several Example designs violating OCP
  • Several example designs conforming to OCP

Interface Segregation Principle

  • Problem addressed by ISP
  • The Interface Segregation Principle
  • Example designs violating ISP
  • Example designs conforming to ISP
  • When is ISP appropriate⁄inappropriate
 

Liskov Substitution Principle

  • Problem addressed by LSP
  • The Liskov Substitution Principle
  • Example designs violating LSP
  • Example designs conforming to LSP
  • Relationship OCP⁄LSP
  • When is "instance of is" not an LSP problem

Law of Demeter

  • Problem addressed by LoD
  • Example design violating LoD
  • Example designs conforming to LoD
  • When is LoD appropriate⁄inappropriate
  • Pro⁄Con discussion

Practices that support the principles

  • Simple Design
  • Automated Testing
  • Test--Driven Development
  • Refactoring
  • Teamwork
  • Pair Programming
  • Collective Ownership
  • Quick Design Sessions
  • Continuous Integration
  • Code⁄Design Reviews

Methodology

Interactive presentations based demonstrations, practical exercises, examples, and discussions of real life experiences with the participants.

Who should attend?

Architects, developers and anybody who writes software for a living. 

The course is designed for developers with all levels of experience using the Java, C# or C++ programming language. Beginners will obtain a firm grounding in the principles, patterns and practices, while experienced developers will be able to sharpen and refine their skills by learning how to apply the concepts more effectively.

Prerequisites

Must be familiar with object-oriented programming.

Votre allié en développement logiciel Agile

Calendrier des formations

TDD avancé

Formation TDD Avancé offerte à Montréal les 21 et 22 septembre 2017.

Montréal (ÉTS), 21 septembre 2017

BDD: analyse et spécification des besoins par l’exemple

BDD: analyse et spécification des besoins par l’exemple offerte à Montréal le 5 octobre 2017.

Montréal (ÉTS), 05 octobre 2017

Tests et assurance qualité en agilité

Formation Tests et assurance qualité en agilité offerte à Montréal le 6 octobre 2017.

Montréal (ÉTS), 06 octobre 2017

Fonctionnement et gestion d'une équipe Scrum

Fonctionnement et gestion d'une équipe Scrum offerte à Montréal le 10 octobre 2017.

Montréal (ÉTS), 10 octobre 2017

BDD: analyse et spécification des besoins par l’exemple

BDD: analyse et spécification des besoins par l’exemple offerte à Québec le 10 octobre 2017.

Québec, 10 octobre 2017

Développement piloté par les tests (TDD)

Formation Développement piloté par les tests (TDD) offerte à Québec les 19 et 20 octobre 2017.

Québec, 19 octobre 2017

Professional Scrum Master (PSM)

Formation Professional Scrum Master offerte à l'École de Technologie Supérieure de Montréal du 26 au 27 octobre 2017.

Montréal (ÉTS), 26 octobre 2017

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

Formation "Concepts orientés-objet avancés appliqués au développement agile" offerte à Montréal les 26 et 27 octobre 2017.

Montréal (ÉTS), 26 octobre 2017

Gestion de projet Agile : les principes fondamentaux

Formation Gestion de projet Agile : les principes fondamentaux offerte à l'École de Technologie Supérieure de Montréal.

Montréal (ÉTS), 10 novembre 2017

Tests et assurance qualité en agilité

Formation Tests et assurance qualité en agilité offerte à Québec le 13 novembre 2017.

Québec, 13 novembre 2017

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

Formation Concepts orientés-objet avancés appliqués au développement agile offerte à Québec les 23 et 24 novembre 2017.

Québec, 23 novembre 2017

Développement logiciel Lean : les principes fondamentaux

Formation Développement logiciel Lean : les principes fondamentaux offerte à l'École de Technologie Supérieure à Montréal en novembre 2017.

Montréal (ÉTS), 24 novembre 2017

Développement piloté par les tests (TDD)

Formation Développement piloté par les tests (TDD) offerte à Montréal les 6 et 7 décembre 2017.

Montréal (ÉTS), 06 décembre 2017

Consulter le catalogue>

Nouvelles

Conférences internationales WICSA et CompArch à Montréal

Conférences internationales WICSA et CompArch à Montréal

29 avril 2015

Formations offertes au printemps

Différentes formations spécialisées en génie logiciel et développement Agile sont encore disponibles pour vous ce printemps. Découvrez-les et réservez votre place dès maintenant !

06 février 2015

Deux de nos formateurs agréés par Emploi Québec

Nos formateurs, Félix-Antoine Bourbonnais et Pascal Roy, sont maintenant agréés dans le cadre de la Loi favorisant le développement et la reconnaissance des compétences de la main d’oeuvre d’Emploi Québec.

19 janvier 2015

Retour sur l’Agile Tour de Québec, édition 2014

L'édition 2014 de l’Agile Tour de Québec a été un vif succès pour l'équipe d’Elapse Technologies. Les salles étaient pleines et les critiques élogieuses.

10 novembre 2014

Elapse appuie le Global Day of Code Retreat à Québec

L'équipe d'Elapse commandite le Global Day of Code Retreat de Québec du 15 novembre prochain.

09 octobre 2014

Toutes les nouvelles>

Blogue développement Agile

Étude sur l’économie créative: Éléments du succès de 9 entreprises agiles

Présentation des faits saillants d'une étude sur l'économie créative qui a permis de vi...

09 décembre 2015

Boxstarter : Comment standardiser et simplifier la configuration d’un poste de développement

Boxstarter est un outil qui peut vous aider à simplifier et standardiser l'installation...

07 octobre 2015

Tout le dossier Agile 2015

Pour aider nos lecteurs à revoir tout notre dossier #Agile2015, voici les liens vers no...

23 septembre 2015

Agile 2015: Nos impressions et les tendances (partie 3/3)

À la fin du mois d’août, Pascal et Félix-Antoine sont allés à la plus grande conférence...

17 septembre 2015

Agile 2015: Nos impressions et les tendances (partie 2/3)

À la fin du mois d’août, Pascal et Félix-Antoine sont allés à la plus grande conférence...

17 septembre 2015

Tous les billets>