16-06-2009, 06:15 PM
(10-06-2009, 12:10 AM)naholyr a écrit : Ensuite, je rejoins à 100% (pour le coup) le message de lcfseth : La POO c'est simple et intuitif. On n'est pas obligé d'apprendre le vocabulaire compliqué et les concepts hardcore pour bénéficier de ses premiers bienfaits et de la méthode de conception associée.Je suis pas trop d'accord sur ce dernier point (méthode).
J'ai longtemps cru que je faisais de l'objet, alors qu'en fait, je me contentais de faire des "structures avec des fonctions".
L'exemple typique qu'on voit ici, c'est la classe d'accés base de donnée, le truc super courant en php que tout le monde fait pour encapsuler les fonctions mysql, qui n'est qu'une encapsulation basique, sans héritage, sans interaction avec d'autres objets, sans polymorphisme, sans interface.
Et quand on en est que la, bah effectivement, on voit pas forcément trop l'interet de l'objet a l'echelle de tout un projet. A l'inverse, combien de gens ici connaissent quelques design patterns ou le concept de tests unitaires automatisés ? Qui sont des notions qui elles montrent l'interet des objets de façon évidente.
Je dis ca, parce que nouveau ici, j'ai été un peu étonné (avant d'y réflechir plus avant) par le discours "anti-objet" fréquent, qui me paraissait initialement assez ... hallucinant à notre époque.
(et j'aime bcp la vision de christophe, ou c'est les objets qui s'attaquent directement(att.Attaque(def)) , plutot que de transmettre les infos de façon "procedurale"(dm=att.attaque;def.subit(dmg)))