Trucs et astuces pour un code robuste |
Ce tutoriel de programmation est présenté sous la forme d'un cours java. Il ne vous donne pourtant pas de technique particulière pour développer en java. Il vous explique un ensemble de techniques simples à mettre en oeuvre pour développer et programmer proprement, et surtout afin que votre code soit robuste, stable et maintenable dans tout langage objet. Bien que tous les exemples soient écrits en java, la technique est applicable à tous les langages de programmation : pascal, delphi, c, c++, c#, java, .net, php, vb, asp ... |
|
Vérifier la validité de vos paramètres |
15 Nov 2002 |
Ce volet du tutoriel présente une technique dite de validation des paramètres. |
|
Documenter votre code |
16 Nov 2002 |
Ce volet du tutoriel souligne le besoin de commenter et documenter son code. L'article ou le tutoriel essaye de trouver une systématique dans l'écriture des commentaires de votre code, qu'il soit java ou autre. Le fait de se résoudre à une certaine systématique pour l'écriture des commentaires d'un programme, permet de vous habituer à l'écriture de ceux-ci. |
|
Utiliser les assertion |
7 Dec 2002 |
Ce volet du tutoriel explique l'utilisation des assertions et décrit rapidement la notion de développement par contrat. La technique a été introduite récemment en java (jdk 1.4) mais est exploitée depuis longtemps dans d'autres langages comme le C++. |
|
Utiliser un framework de tests |
31 Jan 2003 |
Ce volet du tutoriel explique l'utilisation d'un framework de tests, grace auquel vous mettez votre application en difficulté avant même que le client y soit invité, vous développez de manière non régressive (non régression du code). Je vous propose des liens pour télécharger (download) JUnit, NUnit, DUnit, CUnit PhpUnit. des unités de tests pour java, .net, c++, delphi. |
|
Description de design patterns |
Dans ce tutoriel, je vous décris quelques design patterns classiques. J'essaie pendant ces descriptions d'architectures logicielles éprouvées, de vous faire découvir et apprécier ces techniques de développements,de vous donner envie de vous documenter autour de ces techniques. Un prérequis à ces articles est évidemment le langage UML, tout au moins les diagrammes de classes, lesquels sont nécessaires pour se détacher et présenter ces design patterns hors du contexte d'un langage particulier (java, c++, .Net, pascal, etc.) Comme toujours je fournis des exemples d'implémentation en java. |
|
Pont |
|
Sépare et découple une abstraction et son implémentation permettant à chacune d'évoluer indépendamment. |
|
Décorateur |
|
Ajoute des fonctionnalité à un objet de manière entièrement dynamique. Parfois plus efficace que l'héritage, il permet d'étendre les capacités de plusieurs classes sans en modifier les sources. |
|
Singleton |
|
S'assure de l'unicité d'une instance de classe et évidemment le moyen d'accéder à cette instance unique. |
|
Proxy |
|
Objet léger qui remplace le véritable objet complet. Il est fabriqué pour soulager les ressources lorsque l'objet traité en consomme trop. |
|
Etat |
|
Permet de modifier le comportement d'un objet lorsque son état est modifié. Tout est mis en place pour donner l'impression que l'objet lui-même a été modifié. |
|
Adaptateur |
|
Encapsule les accès à une API qui ne correspondatait pas à vos normes ou a vos besoins... |
|
Facade |
|
Unifie et simplie l'interface d'un sous système cohérent et éventuellement autonome. Forme donc un point d'entrée simplifié dans une API. |
|
Monteur |
|
Dissocie le processus de construction d'un objet complexe de la structure de représentation de cet objet. |
|
Kit |
|
Fournit un processus de construction de familles d'objets apparentés et cohérents. |
|
Composite |
|
Permet de modifier le comportement d'un objet lorsque son état est modifié. Tout est mis en place pour donner l'impression que l'objet lui-même a été modifié. |
|
... |
|
Et d'autres articles à paraître à propos des design patterns, et surtout sur d'autres design patterns... |
|