POO - Programmation orienté objet


Introduction

La programmation orientée objet (POO) est une méthode de programmation qui s'appuie sur des objets et leurs interactions. Elle permet de créer des applications plus complexes et flexibles en regroupant des propriétés et instructions dans des class – objets –. Ces class peuvent être des choses réelles ou des concepts abstraits. La POO est une façon de structurer le code pour qu'il soit plus clair et plus facile à comprendre.

Contexte professionnel

En milieu professionnel, la POO est largement démocratisée, elle permet de développer des applications de tous types – web, mobile, client lourd etc –, c'est un paradigme de programmation très puissant permettant aux développeurs de créer des outils complexes et faciles à maintenir.

Expérience

Durant un projet d'application, je développais la partie Front – interface utilisateur– sur laquelle je souhaitais rapidement tester mes fonctionnalités et mes interfaces en affichant mes modèles de données.
Je n'avais pas de base de données ni d'API encore disponible. J'ai décidé de créer un Mock – simulation d'une source de données locale – et de m'y connecter.

Le problème consistait dans le codage de deux comportements différents, un pour le Mock et un autre plus tard pour la connexion à l'API qui viendrait à terme remplacer le précédent comportement.

J'ai alors eu l'idée d'utiliser un pattern design – solution standard reconnue comme « bonne pratique » pour résoudre un problème de conception logicielle,

Le pattern design en question était « Strategy », un concept se reposant sur le paradigme de la POO et très simple à mettre en place. L'idée était de faire fonctionner un comportement dans l'application en passant par une interface. En faisant cela, on ne se soucie plus du comportement car les méthodes de l'interface sont implémentées dans autant d'objet qu'il y a de comportement.

En mettant en place cette stratégie, je pouvais à tout moment changer le comportement de la connexion de l'application, passer du Mock directement à la base de données, deux comportements bien distincts mais une seule interface qui dirige le tout.

Mon autocritique

J'ai rapidement compris le concept de la POO, mais la pratiquer en est une autre. J'ai affiné ma compétence au fur et à mesure de mes échanges avec des experts, au travers d'articles et de projets et je suis devenu rapidement autonome.

Dans la majorité des projets aujourd'hui, la POO s'applique de la même manière, ce qui peut changer en revanche est la syntaxe du langage utilisé. La POO s'ajoute bien entendu à ma liste de compétences et vient plus spécifiquement renforcer ma compétence de conception Logiciel.

Si je devais conseiller quelqu'un qui souhaiterait se mettre à la POO, c'est de commencer par écrire de simple programme, ne pas hésiter à échanger et même à réaliser du pair programming – programmation en binôme –. La participation à des hackathons peut être aussi un bon moyen de progresser rapidement dans ce domaine. Enfin, se documenter sur les patterns design peut s'avérer très utile dans certains cas.

Je souhaiterais atteindre un niveau « confirmé », ceci me permettrait de créer des programmes plus complexes, flexibles et robustes dans le temps.

Je compte continuer à utiliser la programmation orientée objet pour mes projets futurs et lire davantage d’articles sur les patterns design pour les mettre plus souvent en pratique lors de mes développements.


Projets associés à cette compétence