12-08-2014, 09:28 AM
(Oui, la factory dans la méthode elle-même n'a aucun intérêt, elle devrait venir de l'extérieur soit d'un attribut de la classe, soit d'un paramètre de méthode, voire même d'un objet "global" type singleton").
Clairement, j'aurai gardé le premier code, c'est seulement sa refactorisation East qui me gènait.
J'aime bien voir le procédural comme une chaîne métalique, et l'OO comme un vrac de maillons dans un panier
La chaîne métallique, c'est intuitif, c'est utilisable directement, mais en revanche, cela ne permet pas d'accrocher 3 ampoules à une suspension du plafond. En revanche, le vrac de maillons dans un panier, c'est très souple, on peut en faire plein de choses (refaire une chaine simple ou trois petits chaines ou une boucle) et suspendre ce qu'on veut au plafond. Mais casser la chaine du procédural pour le plaisir d'avoir un vrac de maillons que l'on remonte ensuite pour refaire la même chaîne après s'être bien pris la tête, cela ne sert à rien...
Du coup, rêver du nombre de lignes de code... mouais... Cela dépend vraiment de la découpe (1 classe de 1200 lignes? 1000 classes de 2 lignes? pour faire les deux extrêmes!) et de la souplesse qu'on en attend.
Mais clairement, s'il y a besoin de performances accrues, faut rester sur la première solution; je n'ai plus les chiffres sous la main, mais les appels de méthodes en PHP sont de véritables enclumes et forment vite la majorité du temps d'exécution si on s'amuse à hyper abstraire son code (ou à passer par des callbacks ).
Clairement, j'aurai gardé le premier code, c'est seulement sa refactorisation East qui me gènait.
J'aime bien voir le procédural comme une chaîne métalique, et l'OO comme un vrac de maillons dans un panier
La chaîne métallique, c'est intuitif, c'est utilisable directement, mais en revanche, cela ne permet pas d'accrocher 3 ampoules à une suspension du plafond. En revanche, le vrac de maillons dans un panier, c'est très souple, on peut en faire plein de choses (refaire une chaine simple ou trois petits chaines ou une boucle) et suspendre ce qu'on veut au plafond. Mais casser la chaine du procédural pour le plaisir d'avoir un vrac de maillons que l'on remonte ensuite pour refaire la même chaîne après s'être bien pris la tête, cela ne sert à rien...
Du coup, rêver du nombre de lignes de code... mouais... Cela dépend vraiment de la découpe (1 classe de 1200 lignes? 1000 classes de 2 lignes? pour faire les deux extrêmes!) et de la souplesse qu'on en attend.
Mais clairement, s'il y a besoin de performances accrues, faut rester sur la première solution; je n'ai plus les chiffres sous la main, mais les appels de méthodes en PHP sont de véritables enclumes et forment vite la majorité du temps d'exécution si on s'amuse à hyper abstraire son code (ou à passer par des callbacks ).