De l'intérêt de la POO
- Le Lun 13 juil 2009
- Dans Développement web
Depuis la démocratisation de php5, il est possible d'appréhender les projets web d'un point de vue "Objet". Certes, ça n'est pas une révolution, et cette approche était déjà permise, dans une moindre mesure, avec php4. Le but ici n'est pas de promouvoir la POO à tout prix, simplement d'expliquer pourquoi ça peut être utile et comment ça peut être fun.
D'abord, la POO (Programmation Orientée Objet), ça n'a pas de particularité technique. En effet, il s'agit plus d'une manière de concevoir que d'une façon de coder. A ce titre, on pourrait envisager de "coder objet" avec presque n'importe quel langage, et inversement, utiliser un langage objet sans avoir besoin de l'exploiter comme tel.
La POO donc, ça consiste entre autres, à se représenter un programme, un script, une application, dans l'espace plutôt que dans le temps. Grosso-modo, il s'agit de penser en terme d'objets, capables d'interagir entre eux, et pas de lignes de codes qui s'enchaineraient les unes après les autres.
La POO, ça permet de donner un semblant de vie comportement à des entités de données, de variables, de valeurs... qu'on appellera du coup des objets. A l'instant où j'écris ce billet, j'ai à l'écran une zone de texte pour le titre, une autre pour le texte, et un bouton pour enregistrer. Je peux dès lors considérer qu'un billet est un objet, doté d'un titre, d'un texte, et capable de s'enregistrer lorsqu'on lui demandera de le faire.
Sans entrer dans les détails, cette vision des choses offre de nombreux avantages, au nombre desquels on peut citer:
- la POO encourage le travail collaboratif.
- la POO simplifie la maintenance.
- la POO accroît la stabilité.
- la POO assouplit le code.
- la POO rend le travail plus agréable.
En contrepartie:
- la POO est chronophage.
- la POO consomme des ressources.
- la POO n'aime pas l'approximation.
Cependant, chacun de ces points est discutable, et s'il faut retenir quelque chose à propos de la POO, c'est qu'elle n'apporte rien qu'on ne se donne pas la peine d'implémenter. A contrario, elle offre un cadre de travail efficace, et encourage la réflexion, en délestant le programmeur de fastidieuses tâches de codage.