>>>>> "Nicolas" == Nicolas Delsaux <[EMAIL PROTECTED]> writes:

  >> Merci, ca fonctionne super bien. Ca va m'eviter d'ecrire trop de
  >> ligne de code!  Mais pourquoi faut il eviter ce mecanisme. J'ai
  >> cru comprendre que c'etait utiliser les Beans?
  >> 
  Nicolas> Ca d�pend de ce que tu veux faire. Mais en g�n�ral,
  Nicolas> utiliser l'introspection revient � faire, un peu comme pour
  Nicolas> les Vector, dans la facilit� : "�a existe, je ne vais pas
  Nicolas> chercher plus loin". Or, cette facilit� a un co�t; Dans le
  Nicolas> cas des Vector, c'est le temps. Et dans le cas de
  Nicolas> l'introspection, c'est la clart� de conception qui subit
  Nicolas> tous les assauts. En effet, on perd la clart� des appels et
  Nicolas> de la continuit� du code pour revenir � des m�thodes
  Nicolas> d'appels sur pointeurs qui sont, g�n�rallement, tr�s peu
  Nicolas> claires. Le programme se met alors � fonctionner par magie,
  Nicolas> ce qui est tr�s bien, jusqu'au jour o� une modification
  Nicolas> doit �tre effectu�e.  Pour la lecture des variables, �a
  Nicolas> n'est pas trop grave, mais d�s que tu veux modifier des
  Nicolas> valeurs, ou appeler des m�thodes, tu vas tomber des
  Nicolas> probl�mes tout � fait terrifiants d�s que ta m�thode, ou
  Nicolas> que ta variable, n'existera plus, ou pire aura chang� de
  Nicolas> prototype.  En g�n�ral, dans les cas d'appels de m�thodes
  Nicolas> par introspection, utiliser une interface peut �tre
  Nicolas> beaucoup plus efficace et int�ressant, car plus lisible, et
  Nicolas> plus rapide.  Tu cites le cas des JavaBeans, et c'est vrai
  Nicolas> que l'introspection "semble" bien utilis�e. Mais il s'agit
  Nicolas> d'un des rares cas (justement parce que tu ne l'as pas
  Nicolas> cod�) o� l'introspection peut �tre utilis�e sans craintes.

Je fais �a � longueur de journ�e. Je me permet donc de ne pas �tre
d'accord du tout avec ces propos :-)

Comme avec tous les outils, il y a toujours moyen de se tirer dans le
pied. Mais lorsqu'on a appri � le ma�triser, on peu faire un v�ritable
carnage ;-)

Si je suis poursuit ton raisonnement, je peu tr�s bien te faire dire
que l'orient�e objet est � �viter � tout pris parce que
l'encapsulation nuit � la lisibilit� du code. Et puis l'h�ritage et la
surcharge des m�thodes, quelle horreur, on ne sait plus quelle m�thode
est appel�e !!! ;-)

Pour conclure ce petit troll de fin de soir�e, quand je peu �crire 10
lignes de code au lieu de 100 avec un peu de java.lang.reflect, je
n'en prive pas, car 10 lignes restent de toutes fa�ons plus lisibles
et maintenables que 100 que je ne peux m�me pas visualiser en m�me
temps sur mon �cran.

-- 
Laurent Martelli                        http://jac.aopsys.com/
[EMAIL PROTECTED]                    http://www.bearteam.org/~laurent/

Répondre à