Les avantages de la programmation orientée objet
14 messages
• Page 1 sur 1
- rtb
- WRInaute passionné

- Messages: 1065
- Inscription: 14 Nov 2004
Les avantages de la programmation orientée objet
Bonjour,
Je souhaiterais avoir de retours d'expérience de ceux d'entre vous qui sont passés à la POO.
J'ai un peu potassé mais je n'arrive pas a bien comprendre les avantages de la POO par rapport à un code en php classique, si vous pouviez m'éclairer simplement
.
Merci
Je souhaiterais avoir de retours d'expérience de ceux d'entre vous qui sont passés à la POO.
J'ai un peu potassé mais je n'arrive pas a bien comprendre les avantages de la POO par rapport à un code en php classique, si vous pouviez m'éclairer simplement
Merci
-

ltressens - WRInaute impliqué

- Messages: 551
- Inscription: 2 Avr 2004
En POO, le code c'est la clâââsse !
Par exemple sur mon site de location de vacances, j'ai une classe qui se nomme Rental et qui représente un bien en location.
Pour lire en base les données de la location numero 332, afficher son titre et le titre et l'url des photos, puis détruire l'annonce, j'ai qu'à faire :
Voilà c un exemple très bidon je te l'accorde, mais très représentatif de la qualité et de la lisibilité du code qu'on atteint lorsqu'on fait de l'objet.
Et en maintenance et évolution de ton code, c'est tout de suite le pied.
Par exemple sur mon site de location de vacances, j'ai une classe qui se nomme Rental et qui représente un bien en location.
Pour lire en base les données de la location numero 332, afficher son titre et le titre et l'url des photos, puis détruire l'annonce, j'ai qu'à faire :
- Code: Tout sélectionner
$rental = new Rental(332);
print $rental->getTitle();
foreach ($r->getPhotos() as $photo)
{
print $photo->getTitle();
print $photo->getUrl();
}
$rental->delete();
Voilà c un exemple très bidon je te l'accorde, mais très représentatif de la qualité et de la lisibilité du code qu'on atteint lorsqu'on fait de l'objet.
Et en maintenance et évolution de ton code, c'est tout de suite le pied.
-

BadProcESs - WRInaute accro

- Messages: 2657
- Inscription: 28 Juil 2003
Bouarf!
La OOP (Object Oriented Programming), c'est dépassé les gars, faut faire du SOA (Service Oriented Architecture) maintenant !
La OOP (Object Oriented Programming), c'est dépassé les gars, faut faire du SOA (Service Oriented Architecture) maintenant !
-

zeb - WRInaute accro

- Messages: 4560
- Inscription: 5 Déc 2004
Re: Les avantages de la programmation orientée objet
rtb a écrit:Bonjour,
Je souhaiterais avoir de retours d'expérience de ceux d'entre vous qui sont passés à la POO.
J'ai un peu potassé mais je n'arrive pas a bien comprendre les avantages de la POO par rapport à un code en php classique, si vous pouviez m'éclairer simplement.
Merci
Dans les plus de la POO face au procédural, il y a surtout la maintenance.
imagine deux sites procéduraux fonctionnants avec le même genre de logique applicative, il te sera toutjours plus facile de d'uploader une classe compatible que tu viens de transformer que de mettre les mains dans 12 scripts sur chaque site.
note bien aussi que la POO t'oblige a une structuration du code et c'est surtout là que l'avantage se fait sentir. En procédural, tu pourra toujours facilement faire n'importe quoi mais ce sera toujours plus lourd a maintenir.
-

Bool - WRInaute passionné

- Messages: 1290
- Inscription: 26 Fév 2004
Si tu remplaces ta "librairie de fonctions" par une version "transformée et toujours compatible" (comme ta classe quoi), l'impact coté maintenance est le même.
Par contre comme tu le précises le gros avantage c'est l'obligation de structuration, et le fait de pouvoir interdire certains accès directs (merci private/protected).
C'est sûrement pour ça aussi que la POO était peu utilisée en PHP 4.
Par contre comme tu le précises le gros avantage c'est l'obligation de structuration, et le fait de pouvoir interdire certains accès directs (merci private/protected).
C'est sûrement pour ça aussi que la POO était peu utilisée en PHP 4.
- passion
- WRInaute accro

- Messages: 3125
- Inscription: 6 Jan 2006
C'est sans conteste la meilleure façon de coder "propre"
Comme dis précédemment, c'est la structuration et la maintenance de tes composants qui en font sa force !
De plus, tu as une sécurité bien meilleure niveau protection des données sensibles puisque tu encapsules le cas échéant.
Coupler au MVC, c'est le pied !
De plus, même si tu ne connais pas d'autres langages genre JEE, la POO te permets d'être plus proche (synthaxique) d'une programmation et méthodologie universelle.
Comme dis précédemment, c'est la structuration et la maintenance de tes composants qui en font sa force !
De plus, tu as une sécurité bien meilleure niveau protection des données sensibles puisque tu encapsules le cas échéant.
Coupler au MVC, c'est le pied !
De plus, même si tu ne connais pas d'autres langages genre JEE, la POO te permets d'être plus proche (synthaxique) d'une programmation et méthodologie universelle.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
BadProcESs a écrit:Bouarf!
La OOP (Object Oriented Programming), c'est dépassé les gars, faut faire du SOA (Service Oriented Architecture) maintenant !
Et comment tu code un service? Sinon en OOP?
Là ou tu as raison c'est que la POO (j'aime pas le franglais) a été une révolution au début des années 90, avec l'avenement de C++ en particulier, et que PHP prend le train en marche assez tard. Mais mieux vaut tard que jamais!
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
La POO repose sur deux principes.
le premier est d'associer les données et leurs traitements. Ca permet de rassembler en un seul endroit (une classe) le code qui décrit une strcture de donnée, et les fonctions qui les manipulent. On peut obtenir le même résultat sans POO, en étant très rigoureux : c'ets la modularisation du code.
Le deuxième principe est l'héritage, qui permet de raffiner des classes déjà existantes. Ainsi, on peut adapter une bibliothèque de classes existantes a ses propres besoins. On peut tout à fait réutiliser une bibliothèque de fonctions, mais leur comportement est difficile a modifier sans héritage.
Enfin, la POO est d'autant plus intéressante que l'on travaille sur un gros code. Si une fonction de 10 lignes suffit pour faire ce que vous voulez, pas besoin de POO.
Dernier commentaire, pour apprendre la POO je recommanderai de faire du Java ou du C#. Une fois que vous avez bien assimilé, vous réutiliserez facilement en PHP.
le premier est d'associer les données et leurs traitements. Ca permet de rassembler en un seul endroit (une classe) le code qui décrit une strcture de donnée, et les fonctions qui les manipulent. On peut obtenir le même résultat sans POO, en étant très rigoureux : c'ets la modularisation du code.
Le deuxième principe est l'héritage, qui permet de raffiner des classes déjà existantes. Ainsi, on peut adapter une bibliothèque de classes existantes a ses propres besoins. On peut tout à fait réutiliser une bibliothèque de fonctions, mais leur comportement est difficile a modifier sans héritage.
Enfin, la POO est d'autant plus intéressante que l'on travaille sur un gros code. Si une fonction de 10 lignes suffit pour faire ce que vous voulez, pas besoin de POO.
Dernier commentaire, pour apprendre la POO je recommanderai de faire du Java ou du C#. Une fois que vous avez bien assimilé, vous réutiliserez facilement en PHP.
-

xTrade - WRInaute passionné

- Messages: 2289
- Inscription: 11 Déc 2006
Vap a écrit:Dernier commentaire, pour apprendre la POO je recommanderai de faire du Java ou du C#. Une fois que vous avez bien assimilé, vous réutiliserez facilement en PHP.
Tout à fait, mais passer de c++/java à php entraine quelques habitudes difficiles à adapter (pour moi)
En c++, si je me plante sur les type, si j'utilise une variable sans l'initialiser, si je me trompe dans la casse des variables... mon gentil compilateur me fait signe de la plus aimable des manières!
En php, bah, euh, prout, ça passe et ça fout la merde jusqu'à ce que je repère mon erreur typographique!
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
xTrade a écrit:Vap a écrit:Dernier commentaire, pour apprendre la POO je recommanderai de faire du Java ou du C#. Une fois que vous avez bien assimilé, vous réutiliserez facilement en PHP.
Tout à fait, mais passer de c++/java à php entraine quelques habitudes difficiles à adapter (pour moi)
En c++, si je me plante sur les type, si j'utilise une variable sans l'initialiser, si je me trompe dans la casse des variables... mon gentil compilateur me fait signe de la plus aimable des manières!
En php, bah, euh, prout, ça passe et ça fout la merde jusqu'à ce que je repère mon erreur typographique!
Je suis un gros utilisateur de C++ mais je ne le recommande pas pour apprendre la POO car trop compliqué. Je préfère recommander C# ou Java car ils ont une gestion mémoire intégrée, et pas de distinction pointeur/objet.
Mais ce que tu dis est vrai, tous ces langages ont des compilateurs avec typage fort, ce qui permet de detecter beaucoup d'erreurs de programmation. PHP a un typage faible, comme javascript, ce qui semble plus facile, mais laisse passer beaucoup d'erreurs.
14 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Programmation orientée objet en PHP5
- questions directes sur adsense:les avantages et les gains
- Les avantages du dollar faible pour les webmasters
- Les avantages d'un nom de domaine
- Les différents langages de programmation
- PHP-NUKE - quels sont les avantages?
- Programmation standard sur tous les navigateurs?
- Pour les pro du programmation svp ( commande Linux )
- Adsense 468*60 : 1 seul annonce orientée horizontale
- Redirection avec frame, pub adsense mal orientée ???
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
