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 de faire la lumière sur les concepts de base de l’approche OOP, 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 pattern dans un contexte moderne de développement orienté objet.
Cette présentation sera découpée en cinq parties :
1/ Concept de base OOP (~5mn)
Ici nous rafraichirons les mémoires sur les bases de l’OOP. Nous parlerons de ce qui compose un objet, une classe et reverrons la notion de hiérarchie des objets.
2/ Les piliers OOP (~20mn)
Nous parcourrons et définirons les quatre piliers du “paradigme objet”. Nous les expliquerons, ce qui sera une étape clef dans la compréhension des design patterns et des grands principes OOP.
3/ Design Pattern qu’est-ce que c’est ? (~5mn)
Nous allons sur cette partie parler des design pattern et expliquer ce que c’est et à 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 pattern parfois peut-être sans connaitre 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.
Et une slide bonus...
Afin de pouvoir respecter le format de présentation du camp, nous parlerons sans nous attarder des principes SOLID. Si vous souhaitez approfondir la question, contactez-moi pour qu'on organise une session de BoF.