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

2 jours

Prochains cours offerts

  • Date Endroit Formateur S'inscrire
  • 4 au 5 nov. 2013

    + Montréal (ÉTS)

    Robert C. Martin (Uncle Bob) M'inscrire>

    Bob Martin est de retour au Québec pour offrir sa formation traitant de la conception avec les principes SOLID ainsi que des principes, patrons et pratiques (PPP). Elapse Technologies et lService du perfectionnement de l'École de Technologie Supérieure (ÉTS) sont fières de présenter cette formation à Montréal pour la première fois. Ne manquez pas cette chance unique d'apprendre de l'un des professionnels les plus expérimenté et respecté de l’industrie!

     

    logo-ETSPour cette formation, l'inscription et la logistique sont prises en charge par l'ÉTS. Vous serez redirigez sur le site Web de l'ÉTS pour procéder à votre inscription.

Les dates de formation ne vous conviennent pas ou vous aimeriez adapter le contenu de la formation? Nos formations sont aussi offertes en formation privée ou sur mesure.

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.

Eventbrite - Agile Architecture and Design avec Robert C. Martin (SOLID/PPP) à Montréal

Votre allié en développement logiciel Agile

Calendrier des formations

Développement piloté par les tests (TDD)

Formation Développement piloté par les tests (TDD) offerte à Québec les 26 et 27 septembre 2013.

Québec, 26 septembre 2013

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

Agile Architecture and Design avec Robert C. Martin (SOLID/PPP) à Montréal les 4 et 5 novembre 2013

Montréal (ÉTS), 04 novembre 2013

Introduction au Développement Agile

Formation d'introduction au développement Agile offerte à l'École de Technologie Supérieure de Montréal.

Montréal (ÉTS), 06 novembre 2013

Développement piloté par les tests (TDD) avancé

Formation Développement piloté par les tests (TDD) avancé offerte à Québec les 7 et 8 novembre 2013.

Québec, 07 novembre 2013

Professional Scrum Master (PSM)

Formation Professional Scrum Master offerte à Québec les 11 et 12 novembre 2013.

Québec, 11 novembre 2013

Développement piloté par les tests (TDD)

Formation Développement piloté par les tests (TDD) offerte à Montréal les 12 et 13 novembre 2013.

Montréal (ÉTS), 12 novembre 2013

Professional Scrum Master (PSM)

Formation Professional Scrum Master (PSM) offerte à l'École de Technologie Supérieure de Montréal du 14 au 15 novembre 2013.

Montréal (ÉTS), 14 novembre 2013

Développement piloté par les tests (TDD)

Formation Développement piloté par les tests (TDD) offerte à Québec les 5 et 6 décembre 2013.

Québec, 05 décembre 2013

La pensée orienté objet par la pratique (OO)

Formation Pensée orienté objet par la pratique offerte à Québec les 12 et 13 décembre 2013.

Québec, 12 décembre 2013

Consulter le calendrier>

Nouvelles

Formation "Agile Architecture and Design (SOLID/PPP)" avec Robert C. Martin à Montréal

Robert C. Martin (alias Uncle Bob) offrira son cours "Agile Architecture and Design (SOLID/PPP)" pour la première fois à Montréal les 4 et 5 novembre prochains.

15 mai 2013

Francis Moore reconnu comme spécialiste HTML5, JavaScript et CSS3

Francis Moore a récemment complété les étapes menant à l'obtention de la spécialisation Programmation en HTML5, JavaScript et CSS3.

14 mai 2013

Un professionnel d'Elapse parmi les organisateurs des CS Games 2013

Notre collègue Jean-Nicolas Viens est l'organisateur des compétitions pour les CS Games, du 15 au 17 mars 2013.

12 mars 2013

Deux formateurs d'Elapse récompensés

Deux formateurs d'Elapse récompensés pour leur enseignement par l'Association des Étudiants de Sciences et de Génie de l'Université Laval.

08 mars 2013

Un collègue préside l'Agile Tour Québec 2013

Félix-Antoine Bourbonnais est nommé organisateur en chef pour l'Agile Tour Québec 2013.

07 mars 2013

Toutes les nouvelles>

Blogue développement Agile

La géolocalisation sur mobile avec HTML 5

Ce billet présente les possibilités offertes par les nouvelles fonctionnalités de géolo...

08 mai 2013

Tester unitairement mon code Javascript? Oui c'est possible!

Présentation d'une façon des plus efficace de garantir la conformité de notre code Java...

25 avril 2013

La communication non-violente

Un court billet pour présenter la communication non-violente ainsi que quelques exemple...

24 avril 2013

Ma présentation au colloque TI 2013 - Mauricie et Centre-du-Québec

Un billet qui pointe vers ma conférence donnée lors du colloque TI 2013 - Mauricie et C...

23 avril 2013

Javascript : ce qu’il faut savoir

Vincent Crépin fait ressortir les forces et faiblesses de Javascript en s'attardant à t...

22 avril 2013

Tous les billets>