PHP

Drupalcamp Paris 2019 : “Maîtriser la POO et les Design Patterns” un talk présenté par Alexandre, contributeur Drupal et NeoLynker !

  • 11 février 2019

Alexandre contributeur Drupal et référent de la Tribu PHP chez NeoLynk, présentera au Drupalcamp Paris 2019 un talk intitulé “Maitriser la POO et les Design Patterns”. Avant de participer à cette session retrouvez ci-dessous une présentation de ce talk qui se déroulera le vendredi 15 février comme indiqué sur le programme du Drupalcamp 2019.

La Programmation Orientée Object (POO) va au-delà de la conception de classes et d’interfaces. Elle inclut une grande variété de concepts tels que les objets, les entités, les « value objects », les services, les modèles de conception, les principes SOLID, LoD (Law of Demeter), le couplage, etc. Maîtriser la POO nécessite souvent plusieurs années d’expérience, une grande dose de persévérance et de remise en question.

Cette présentation aura pour but d’élucider les concepts de base de l’approche POO, qui sont une des conditions requises pour l’appréhension des concepts avancés tels que l’utilisation des modèles de conception (design pattern) ou la mise en œuvre d’architecture moderne (CQRS, DDD). Nous conclurons sur l’utilité des design patterns dans un contexte moderne de développement orienté objet.

Cette présentation s’articulera autour de cinq parties :

1/ Concept de base POO (~5mn)

Un rappel des bases de la POO sera effectué.
Nous parlerons de ce qui compose un objet, une classe et nous reverrons la notion de hiérarchie des objets.

2/ Les piliers POO (~20mn)

Nous parcourrons, définirons et expliquerons les quatre piliers du « paradigme d’objet ». L’explication sera une étape clef dans la compréhension des design patterns et des grands principes POO.

3/ Relation entre objets (~5mn)

Afin de comprendre les diagrammes UML que nous verrons lors de la présentation des design patterns, nous aurons besoin d’assurer que tous comprennent comment se modélisent les relations entre objets sur des diagrammes UML. Nous présenterons donc les différentes représentations de relations entre objets.

4/ Design Pattern : qu’est-ce que c’est ? (~5mn)

Nous allons dans cette partie parler des design patterns et expliquer ce que c’est et en quoi ils consistent. Il y aura en outre une présentation des différentes familles de design pattern et leurs descriptions.

5/ Design Pattern : pourquoi je devrais les apprendre ? (~5mn)

C’est la chute de la présentation, tous ont déjà entendu parler de ces design patterns parfois peut-être sans connaître les motivations de son existence.

Ici nous allons donc donner deux arguments qui devraient motiver tous les développeurs à passer du temps sur ce sujet et à essayer de les apprendre.

Afin de pouvoir respecter le format de présentation du Drupalcamp, nous parlerons sans nous attarder des principes SOLID. Une track sera proposée afin d’avoir le temps de correctement parcourir ces principes.

/!\ IMPORTANT avant de venir /!\ :

Comme pour tout dans la vie, l’utilisation inconsidérée de ces principes peut causer plus de mal que de bien. Le coût de mise en place de ces principes dans l’architecture d’un programme peut rendre le processus plus compliqué qu’il ne devrait l’être. Je doute qu’il existe un système informatique dans lequel tous ces principes sont appliqués en même temps.

Vouloir respecter ces principes est une bonne chose, mais essayez toujours de rester pragmatique. Ne prenez pas tout ce que nous allons voir comme une doctrine.