Commentaire de: Arnaud CLERET [Membre] Email · http://www.dotnetguru2.org/acleret/
Article intérressant et qui est en effet clairement sujet à contreverse :)

Je dois avouer que l'approche faite dans cet article me séduit. En effet, comme pour beaucoup d'entre nous, consultant en SSII, il semble illusoir de croire que toutes nos classes seront réutilisées et notamment par des concurrents sur les projets au forfait.

Attention, je n'entend pas par ce constat qu'il serait préférable d'avoir un code où tout serait écrit en dur sans aucun modèle de séparation des couches ... Mais comme tu le soulignes, il me parrait certainement plus important de privilégier la sécurité et la stabilité d'exécution de notre application avant même de se poser la question de la réutilisabilité de notre code dans un avenir que nous ne maitrisons souvent pas puisque n'intervenant pas pour notre compte mais celui d'un client.

Pour appuyer un peu plus l'approche sur le "sealed", il est aussi fréquent de voir des classes n'implémentant que des méthodes statiques ne pas être scéllées. Le Framework .Net V2 introduit donc la possibilité de marquer la classe elle-même comme static et de ce fait implique qu'aucune classe ne pourra en dérivée.

Bref, sujet intérressant et qui est certainement qu'une ouverture sur le débat mais cela me rassure de voir que je ne suis pas seul à me poser ce genre de questions lors de la modélisation de nos applications.

arno
13.05.06 @ 16:33
Commentaire de: yartz [Visiteur]
C'est vrai que l'héritage pose plus de problèmes qu'il n'en résoud. Et l'héritage simple (vs multiple) permet d'éviter que sa propre tête explose, en contrepartie d'une rigidité désolante.

Si on laissait tomber le fétichisme OOP = héritage et qu'on avait une généralisation des prototypes (JavaScript), des proxy dynamiques à peu près performants (presque Java), des classes dynamiques (Python, Ruby, Smalltalk) et de la délégation déclarative d'implémentation (Delphi) les choses seraient nettement moins fragiles.

Bon, à la place, C# devient peu à peu un langage fonctionnel, c'est pas mal non plus.

Tout à fait d'accord sur le sealed, sinon (mais si l'argument performances permet de convaincre les fanas du C++, il est assez secondaire à mon avis)
13.05.06 @ 17:57
Commentaire de: sephyx [Visiteur]
Article très intéressant.
11.12.06 @ 17:36
Commentaire de: autoruf [Visiteur]

Supposons que le code de Mafonction() a besoin de calculer 1/(Hauteur – Largeur) . Cette opération ne pose jamais de problème pour un Rectangle

L'article est intéressant, mais ceci est totalement faux, un Rectangle a tout à fait le droit d'être carré.
Pour le sealed, je pense aussi qu'il est intéressant que tout programmeur se pose des questions sur ce qui sera fait dans sa classe et sache dire aux autres : "Je souhaite que vous utilisiez ma classe en la dérivant ou pas (non sealed)" ou bien "Je souhaite que vous utilisiez ma classe sans la dériver (sealed)".
04.03.09 @ 14:10

Laisser un commentaire


Votre adresse email ne sera pas révélée sur ce site.

Votre URL sera affichée.
MédiocreExcellent
(Les retours à la ligne deviennent des <br />)
(Nom, e-mail & site Web)
(Autoriser les utilisateurs à vous contacter par un formulaire de message (votre adresse email ne sera not révélée.))
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)
« Sécurité et InternetMultithreading et Int64 »