28-08-2012, 05:11 PM
(28-08-2012, 03:21 PM)Thêta Tau Tau a écrit :(28-08-2012, 02:00 PM)Damocorp a écrit : Tout ce que j'ai trouvé parle de POO. Mais j'ai pas encore réussi à trouver une seule explication qui expliquerai pourquoi on fait cela en POO plutôt qu'avec des fonctions et en procédurale.
J'ai vraiment l'impression d'être confronté à un effet de mode...
Tu ne vois la POO que comme un moyen d'empaqueter des fonctions, c'est parfois le cas, ça permet déjà d'organiser un peu le code, mais ce n'est pas là l'utilité de la POO.
L'exemple le plus frappant pour moi, ce sont les classes "Model" des framework.
Par exemple (avec django) :
class New(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateTimeField()
author = models.ForeignKey(User)
content = models.TextField()
A partir de la, vu que la classe hérite de Model, le framework peut en faire beaucoup de choses :
- Créer la table correspondante en bdd
- Charger des données depuis la bdd sans passer par la SQL
- Sauvegarder dans la bdd
- Ajouter à l'administration du site une liste des news, un formulaire pour en créer, les éditer, les supprimer etc.
- En utilisant des contrôleurs "tout fait", on peu facilement afficher (par exemple), la liste des 5 dernières news par date de publication décroissante. Le tout en une seule ligne de code + le template.
Ouais en même temps tu peux faire parfaitement la même chose avec un foutu array ou des tuples ou des types construits, des struct, des property-list, des dictionnaires …